MQL код:


.text:10001020 ; =============== S U B R O U T I N E =======================================
.text:10001020
.text:10001020 ; Attributes: bp-based frame
.text:10001020
.text:10001020 ; int __stdcall SymbolFilter(int, double, int, int, int)
.text:10001020 public SymbolFilter
.text:10001020 SymbolFilter proc near ; DATA XREF: .rdata:off_1000C0D8o
.text:10001020
.text:10001020 var_E0 = dword ptr -0E0h
.text:10001020 var_DC = dword ptr -0DCh
.text:10001020 var_D8 = dword ptr -0D8h
.text:10001020 var_D4 = dword ptr -0D4h
.text:10001020 var_D0 = dword ptr -0D0h
.text:10001020 var_CC = dword ptr -0CCh
.text:10001020 var_C8 = dword ptr -0C8h
.text:10001020 var_A8 = dword ptr -0A8h
.text:10001020 var_A4 = dword ptr -0A4h
.text:10001020 var_A0 = dword ptr -0A0h
.text:10001020 var_9C = dword ptr -9Ch
.text:10001020 var_88 = qword ptr -88h
.text:10001020 var_80 = qword ptr -80h
.text:10001020 var_78 = qword ptr -78h
.text:10001020 var_70 = qword ptr -70h
.text:10001020 var_48 = qword ptr -48h
.text:10001020 var_4 = dword ptr -4
.text:10001020 arg_0 = dword ptr 8
.text:10001020 arg_4 = qword ptr 0Ch
.text:10001020 arg_10 = dword ptr 18h
.text:10001020 arg_14 = dword ptr 1Ch
.text:10001020
.text:10001020 push ebp
.text:10001021 mov ebp, esp
.text:10001023 and esp, 0FFFFFFF8h
.text:10001026 sub esp, 0E4h
.text:1000102C mov eax, ___security_cookie
.text:10001031 xor eax, esp
.text:10001033 mov [esp+0E4h+var_4], eax
.text:1000103A push ebx
.text:1000103B mov ebx, [ebp+arg_14]
.text:1000103E push esi
.text:1000103F push edi
.text:10001040 mov edi, [ebp+arg_10]
.text:10001043 push 0 ; Time
.text:10001045 mov [esp+0F4h+var_CC], edi
.text:10001049 mov [esp+0F4h+var_D4], ebx
.text:1000104D call __time64
.text:10001052 add esp, 4
.text:10001055 test edx, edx
.text:10001057 jmp short loc_1000107B
.text:10001059 ; ---------------------------------------------------------------------------
.text:10001059 jg short loc_10001062
.text:1000105B cmp eax, 510A86F0h
.text:10001060 jb short loc_1000107B
.text:10001062
.text:10001062 loc_10001062: ; CODE XREF: SymbolFilter+39j
.text:10001062 xor eax, eax
.text:10001064 pop edi
.text:10001065 pop esi
.text:10001066 pop ebx
.text:10001067 mov ecx, [esp+0E4h+var_4]
.text:1000106E xor ecx, esp
.text:10001070 call @__security_check_cookie@4 ; __security_check_cookie(x)
.text:10001075 mov esp, ebp
.text:10001077 pop ebp
.text:10001078 retn 18h
.text:1000107B ; ---------------------------------------------------------------------------
.text:1000107B
.text:1000107B loc_1000107B: ; CODE XREF: SymbolFilter+37j
.text:1000107B ; SymbolFilter+40j
.text:1000107B fldz
.text:1000107D lea esi, [esp+0F0h+var_C8]
.text:10001081 sub esi, ebx
.text:10001083 mov [esp+0F0h+var_D8], esi
.text:10001087 mov edx, edi
.text:10001089 sub edx, ebx
.text:1000108B lea esi, [esp+0F0h+var_A8]
.text:1000108F xor eax, eax
.text:10001091 sub esi, ebx
.text:10001093 mov ecx, ebx
.text:10001095 mov [esp+0F0h+var_D0], edx
.text:10001099 mov [esp+0F0h+var_E0], esi
.text:1000109D
.text:1000109D loc_1000109D: ; CODE XREF: SymbolFilter+B7j
.text:1000109D mov dword ptr [edx+ecx], 0FFFFFFFFh
.text:100010A4 mov dword ptr [ecx], 0FFFFFFFFh
.text:100010AA cmp eax, 8
.text:100010AD jge short loc_100010D0
.text:100010AF mov esi, [esp+0F0h+var_D8]
.text:100010B3 fst [esp+eax*8+0F0h+var_48]
.text:100010BA mov dword ptr [esi+ecx], 0FFFFFFFFh
.text:100010C1 fst [esp+eax*8+0F0h+var_88]
.text:100010C5 mov esi, [esp+0F0h+var_E0]
.text:100010C9 mov dword ptr [esi+ecx], 0FFFFFFFFh
.text:100010D0
.text:100010D0 loc_100010D0: ; CODE XREF: SymbolFilter+8Dj
.text:100010D0 inc eax
.text:100010D1 add ecx, 4
.text:100010D4 cmp eax, 40h
.text:100010D7 jl short loc_1000109D
.text:100010D9 mov ecx, [ebp+arg_0]
.text:100010DC fld qword ptr [ecx]
.text:100010DE xor edx, edx
.text:100010E0 fld ds:dbl_1000B810
.text:100010E6 xor esi, esi
.text:100010E8 fcom st(1)
.text:100010EA mov [esp+0F0h+var_E0], edx
.text:100010EE mov [esp+0F0h+var_DC], esi
.text:100010F2 fnstsw ax
.text:100010F4 fstp st(1)
.text:100010F6 fld qword ptr [ecx]
.text:100010F8 test ah, 41h
.text:100010FB jp short loc_10001116
.text:100010FD mov [esp+0F0h+var_E0], 1
.text:10001105 fstp [esp+0F0h+var_48]
.text:1000110C mov [esp+0F0h+var_C8], edx
.text:10001110 mov edx, [esp+0F0h+var_E0]
.text:10001114 jmp short loc_1000112A
.text:10001116 ; ---------------------------------------------------------------------------
.text:10001116
.text:10001116 loc_10001116: ; CODE XREF: SymbolFilter+DBj
.text:10001116 mov [esp+0F0h+var_DC], 1
.text:1000111E fstp [esp+0F0h+var_88]
.text:10001122 mov esi, [esp+0F0h+var_DC]
.text:10001126 mov [esp+0F0h+var_A8], edx
.text:1000112A
.text:1000112A loc_1000112A: ; CODE XREF: SymbolFilter+F4j
.text:1000112A fcom qword ptr [ecx+8]
.text:1000112D fnstsw ax
.text:1000112F fld qword ptr [ecx+8]
.text:10001132 test ah, 41h
.text:10001135 jp short loc_1000114D
.text:10001137 fstp [esp+edx*8+0F0h+var_48]
.text:1000113E mov [esp+edx*4+0F0h+var_C8], 1
.text:10001146 inc edx
.text:10001147 mov [esp+0F0h+var_E0], edx
.text:1000114B jmp short loc_1000115E
.text:1000114D ; ---------------------------------------------------------------------------
.text:1000114D
.text:1000114D loc_1000114D: ; CODE XREF: SymbolFilter+115j
.text:1000114D fstp [esp+esi*8+0F0h+var_88]
.text:10001151 mov [esp+esi*4+0F0h+var_A8], 1
.text:10001159 inc esi
.text:1000115A mov [esp+0F0h+var_DC], esi
.text:1000115E
.text:1000115E loc_1000115E: ; CODE XREF: SymbolFilter+12Bj
.text:1000115E fcom qword ptr [ecx+10h]
.text:10001161 fnstsw ax
.text:10001163 fld qword ptr [ecx+10h]
.text:10001166 test ah, 41h
.text:10001169 jp short loc_10001181
.text:1000116B fstp [esp+edx*8+0F0h+var_48]
.text:10001172 mov [esp+edx*4+0F0h+var_C8], 2
.text:1000117A inc edx
.text:1000117B mov [esp+0F0h+var_E0], edx
.text:1000117F jmp short loc_10001192
.text:10001181 ; ---------------------------------------------------------------------------
.text:10001181
.text:10001181 loc_10001181: ; CODE XREF: SymbolFilter+149j
.text:10001181 fstp [esp+esi*8+0F0h+var_88]
.text:10001185 mov [esp+esi*4+0F0h+var_A8], 2
.text:1000118D inc esi
.text:1000118E mov [esp+0F0h+var_DC], esi
.text:10001192
.text:10001192 loc_10001192: ; CODE XREF: SymbolFilter+15Fj
.text:10001192 fcom qword ptr [ecx+18h]
.text:10001195 fnstsw ax
.text:10001197 fld qword ptr [ecx+18h]
.text:1000119A test ah, 41h
.text:1000119D jp short loc_100011B5
.text:1000119F fstp [esp+edx*8+0F0h+var_48]
.text:100011A6 mov [esp+edx*4+0F0h+var_C8], 3
.text:100011AE inc edx
.text:100011AF mov [esp+0F0h+var_E0], edx
.text:100011B3 jmp short loc_100011C6
.text:100011B5 ; ---------------------------------------------------------------------------
.text:100011B5
.text:100011B5 loc_100011B5: ; CODE XREF: SymbolFilter+17Dj
.text:100011B5 fstp [esp+esi*8+0F0h+var_88]
.text:100011B9 mov [esp+esi*4+0F0h+var_A8], 3
.text:100011C1 inc esi
.text:100011C2 mov [esp+0F0h+var_DC], esi
.text:100011C6
.text:100011C6 loc_100011C6: ; CODE XREF: SymbolFilter+193j
.text:100011C6 fcom qword ptr [ecx+20h]
.text:100011C9 fnstsw ax
.text:100011CB fld qword ptr [ecx+20h]
.text:100011CE test ah, 41h
.text:100011D1 jp short loc_100011E9
.text:100011D3 fstp [esp+edx*8+0F0h+var_48]
.text:100011DA mov [esp+edx*4+0F0h+var_C8], 4
.text:100011E2 inc edx
.text:100011E3 mov [esp+0F0h+var_E0], edx
.text:100011E7 jmp short loc_100011FA
.text:100011E9 ; ---------------------------------------------------------------------------
.text:100011E9
.text:100011E9 loc_100011E9: ; CODE XREF: SymbolFilter+1B1j
.text:100011E9 fstp [esp+esi*8+0F0h+var_88]
.text:100011ED mov [esp+esi*4+0F0h+var_A8], 4
.text:100011F5 inc esi
.text:100011F6 mov [esp+0F0h+var_DC], esi
.text:100011FA
.text:100011FA loc_100011FA: ; CODE XREF: SymbolFilter+1C7j
.text:100011FA fcom qword ptr [ecx+28h]
.text:100011FD fnstsw ax
.text:100011FF fld qword ptr [ecx+28h]
.text:10001202 test ah, 41h
.text:10001205 jp short loc_1000121D
.text:10001207 fstp [esp+edx*8+0F0h+var_48]
.text:1000120E mov [esp+edx*4+0F0h+var_C8], 5
.text:10001216 inc edx
.text:10001217 mov [esp+0F0h+var_E0], edx
.text:1000121B jmp short loc_1000122E
.text:1000121D ; ---------------------------------------------------------------------------
.text:1000121D
.text:1000121D loc_1000121D: ; CODE XREF: SymbolFilter+1E5j
.text:1000121D fstp [esp+esi*8+0F0h+var_88]
.text:10001221 mov [esp+esi*4+0F0h+var_A8], 5
.text:10001229 inc esi
.text:1000122A mov [esp+0F0h+var_DC], esi
.text:1000122E
.text:1000122E loc_1000122E: ; CODE XREF: SymbolFilter+1FBj
.text:1000122E fcom qword ptr [ecx+30h]
.text:10001231 fnstsw ax
.text:10001233 fld qword ptr [ecx+30h]
.text:10001236 test ah, 41h
.text:10001239 jp short loc_10001251
.text:1000123B fstp [esp+edx*8+0F0h+var_48]
.text:10001242 mov [esp+edx*4+0F0h+var_C8], 6
.text:1000124A inc edx
.text:1000124B mov [esp+0F0h+var_E0], edx
.text:1000124F jmp short loc_10001262
.text:10001251 ; ---------------------------------------------------------------------------
.text:10001251
.text:10001251 loc_10001251: ; CODE XREF: SymbolFilter+219j
.text:10001251 fstp [esp+esi*8+0F0h+var_88]
.text:10001255 mov [esp+esi*4+0F0h+var_A8], 6
.text:1000125D inc esi
.text:1000125E mov [esp+0F0h+var_DC], esi
.text:10001262
.text:10001262 loc_10001262: ; CODE XREF: SymbolFilter+22Fj
.text:10001262 fcomp qword ptr [ecx+38h]
.text:10001265 fnstsw ax
.text:10001267 fld qword ptr [ecx+38h]
.text:1000126A test ah, 41h
.text:1000126D jp short loc_10001285
.text:1000126F fstp [esp+edx*8+0F0h+var_48]
.text:10001276 mov [esp+edx*4+0F0h+var_C8], 7
.text:1000127E inc edx
.text:1000127F mov [esp+0F0h+var_E0], edx
.text:10001283 jmp short loc_10001296
.text:10001285 ; ---------------------------------------------------------------------------
.text:10001285
.text:10001285 loc_10001285: ; CODE XREF: SymbolFilter+24Dj
.text:10001285 fstp [esp+esi*8+0F0h+var_88]
.text:10001289 mov [esp+esi*4+0F0h+var_A8], 7
.text:10001291 inc esi
.text:10001292 mov [esp+0F0h+var_DC], esi
.text:10001296
.text:10001296 loc_10001296: ; CODE XREF: SymbolFilter+263j
.text:10001296 xor ecx, ecx
.text:10001298 xor esi, esi
.text:1000129A test edx, edx
.text:1000129C jle loc_10001409
.text:100012A2 fld [ebp+arg_4]
.text:100012A5 lea eax, [esp+0F0h+var_48]
.text:100012AC mov [esp+0F0h+var_D8], eax
.text:100012B0 jmp short loc_100012B4
.text:100012B2 ; ---------------------------------------------------------------------------
.text:100012B2
.text:100012B2 loc_100012B2: ; CODE XREF: SymbolFilter+3E1j
.text:100012B2 fxch st(1)
.text:100012B4
.text:100012B4 loc_100012B4: ; CODE XREF: SymbolFilter+290j
.text:100012B4 mov eax, [esp+0F0h+var_D8]
.text:100012B8 fxch st(1)
.text:100012BA fcom qword ptr [eax]
.text:100012BC fnstsw ax
.text:100012BE test ah, 1
.text:100012C1 jz loc_100013F9
.text:100012C7 xor edx, edx
.text:100012C9 cmp [esp+0F0h+var_DC], 4
.text:100012CE jl loc_100013A8
.text:100012D4
.text:100012D4 loc_100012D4: ; CODE XREF: SymbolFilter+382j
.text:100012D4 fcom [esp+edx*8+0F0h+var_88]
.text:100012D8 fnstsw ax
.text:100012DA test ah, 1
.text:100012DD jz short loc_10001303
.text:100012DF mov eax, [esp+0F0h+var_D8]
.text:100012E3 fld qword ptr [eax]
.text:100012E5 fsub [esp+edx*8+0F0h+var_88]
.text:100012E9 fabs
.text:100012EB fcomp st(2)
.text:100012ED fnstsw ax
.text:100012EF test ah, 5
.text:100012F2 jnp short loc_10001303
.text:100012F4 mov eax, [esp+esi*4+0F0h+var_C8]
.text:100012F8 mov [edi+ecx*4], eax
.text:100012FB mov eax, [esp+edx*4+0F0h+var_A8]
.text:100012FF mov [ebx+ecx*4], eax
.text:10001302 inc ecx
.text:10001303
.text:10001303 loc_10001303: ; CODE XREF: SymbolFilter+2BDj
.text:10001303 ; SymbolFilter+2D2j
.text:10001303 fcom [esp+edx*8+0F0h+var_80]
.text:10001307 fnstsw ax
.text:10001309 test ah, 1
.text:1000130C jz short loc_10001332
.text:1000130E mov eax, [esp+0F0h+var_D8]
.text:10001312 fld qword ptr [eax]
.text:10001314 fsub [esp+edx*8+0F0h+var_80]
.text:10001318 fabs
.text:1000131A fcomp st(2)
.text:1000131C fnstsw ax
.text:1000131E test ah, 5
.text:10001321 jnp short loc_10001332
.text:10001323 mov eax, [esp+esi*4+0F0h+var_C8]
.text:10001327 mov [edi+ecx*4], eax
.text:1000132A mov eax, [esp+edx*4+0F0h+var_A4]
.text:1000132E mov [ebx+ecx*4], eax
.text:10001331 inc ecx
.text:10001332
.text:10001332 loc_10001332: ; CODE XREF: SymbolFilter+2ECj
.text:10001332 ; SymbolFilter+301j
.text:10001332 fcom [esp+edx*8+0F0h+var_78]
.text:10001336 fnstsw ax
.text:10001338 test ah, 1
.text:1000133B jz short loc_10001361
.text:1000133D mov eax, [esp+0F0h+var_D8]
.text:10001341 fld qword ptr [eax]
.text:10001343 fsub [esp+edx*8+0F0h+var_78]
.text:10001347 fabs
.text:10001349 fcomp st(2)
.text:1000134B fnstsw ax
.text:1000134D test ah, 5
.text:10001350 jnp short loc_10001361
.text:10001352 mov eax, [esp+esi*4+0F0h+var_C8]
.text:10001356 mov [edi+ecx*4], eax
.text:10001359 mov eax, [esp+edx*4+0F0h+var_A0]
.text:1000135D mov [ebx+ecx*4], eax
.text:10001360 inc ecx
.text:10001361
.text:10001361 loc_10001361: ; CODE XREF: SymbolFilter+31Bj
.text:10001361 ; SymbolFilter+330j
.text:10001361 fcom [esp+edx*8+0F0h+var_70]
.text:10001368 fnstsw ax
.text:1000136A test ah, 1
.text:1000136D jz short loc_10001396
.text:1000136F mov eax, [esp+0F0h+var_D8]
.text:10001373 fld qword ptr [eax]
.text:10001375 fsub [esp+edx*8+0F0h+var_70]
.text:1000137C fabs
.text:1000137E fcomp st(2)
.text:10001380 fnstsw ax
.text:10001382 test ah, 5
.text:10001385 jnp short loc_10001396
.text:10001387 mov eax, [esp+esi*4+0F0h+var_C8]
.text:1000138B mov [edi+ecx*4], eax
.text:1000138E mov eax, [esp+edx*4+0F0h+var_9C]
.text:10001392 mov [ebx+ecx*4], eax
.text:10001395 inc ecx
.text:10001396
.text:10001396 loc_10001396: ; CODE XREF: SymbolFilter+34Dj
.text:10001396 ; SymbolFilter+365j
.text:10001396 mov eax, [esp+0F0h+var_DC]
.text:1000139A add edx, 4
.text:1000139D add eax, 0FFFFFFFDh
.text:100013A0 cmp edx, eax
.text:100013A2 jl loc_100012D4
.text:100013A8
.text:100013A8 loc_100013A8: ; CODE XREF: SymbolFilter+2AEj
.text:100013A8 cmp edx, [esp+0F0h+var_DC]
.text:100013AC jge short loc_100013F5
.text:100013AE lea edi, [ebx+ecx*4]
.text:100013B1
.text:100013B1 loc_100013B1: ; CODE XREF: SymbolFilter+3CFj
.text:100013B1 fcom [esp+edx*8+0F0h+var_88]
.text:100013B5 fnstsw ax
.text:100013B7 test ah, 1
.text:100013BA jz short loc_100013EA
.text:100013BC mov eax, [esp+0F0h+var_D8]
.text:100013C0 fld qword ptr [eax]
.text:100013C2 fsub [esp+edx*8+0F0h+var_88]
.text:100013C6 fabs
.text:100013C8 fcomp st(2)
.text:100013CA fnstsw ax
.text:100013CC test ah, 5
.text:100013CF jnp short loc_100013EA
.text:100013D1 mov eax, [esp+esi*4+0F0h+var_C8]
.text:100013D5 mov ebx, [esp+0F0h+var_D0]
.text:100013D9 mov [edi+ebx], eax
.text:100013DC mov eax, [esp+edx*4+0F0h+var_A8]
.text:100013E0 mov ebx, [esp+0F0h+var_D4]
.text:100013E4 mov [edi], eax
.text:100013E6 inc ecx
.text:100013E7 add edi, 4
.text:100013EA
.text:100013EA loc_100013EA: ; CODE XREF: SymbolFilter+39Aj
.text:100013EA ; SymbolFilter+3AFj
.text:100013EA inc edx
.text:100013EB cmp edx, [esp+0F0h+var_DC]
.text:100013EF jl short loc_100013B1
.text:100013F1 mov edi, [esp+0F0h+var_CC]
.text:100013F5
.text:100013F5 loc_100013F5: ; CODE XREF: SymbolFilter+38Cj
.text:100013F5 mov edx, [esp+0F0h+var_E0]
.text:100013F9
.text:100013F9 loc_100013F9: ; CODE XREF: SymbolFilter+2A1j
.text:100013F9 add [esp+0F0h+var_D8], 8
.text:100013FE inc esi
.text:100013FF cmp esi, edx
.text:10001401 jl loc_100012B2
.text:10001407 fstp st
.text:10001409
.text:10001409 loc_10001409: ; CODE XREF: SymbolFilter+27Cj
.text:10001409 pop edi
.text:1000140A fstp st
.text:1000140C mov eax, ecx
.text:1000140E mov ecx, [esp+0ECh+var_4]
.text:10001415 pop esi
.text:10001416 pop ebx
.text:10001417 xor ecx, esp
.text:10001419 call @__security_check_cookie@4 ; __security_check_cookie(x)
.text:1000141E mov esp, ebp
.text:10001420 pop ebp
.text:10001421 retn 18h
.text:10001421 SymbolFilter endp