Function at 0x5049a0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x639b3f
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x48], edi
mov ecx, dword [0x6ac16c]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
xor al, al
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x15], al
mov byte [ebp - 0x3c], al
xor cl, cl
mov dword [ebp - 4], 1
call fcn.0053d0f0
cmp dword [edi + 0x4cef], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x504a64
call esi
sub eax, dword [edi + 0x4cef]
cmp eax, 0x1d4c0
jl 0x504a64
call esi
sub eax, dword [edi + 0x4cef]
cmp eax, 0x1d4c0
jl 0x504a64
lea ecx, [ebp - 0x44]
call fcn.0041d970
mov ecx, dword [0x6ac684]
test ecx, ecx
je 0x504a4a
call fcn.0054c510
mov dword [edi + 0x4cef], 0
lea ecx, [ebp - 0x44]
call fcn.0041d900
mov al, byte [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], ecx
mov edi, dword [edi + 0x4cf3]
test edi, edi
je 0x504a86
mov edi, dword [ebp - 0x48]
mov edi, dword [edi + 0x4cf3]
call esi
sub eax, edi
cmp eax, 0xea60
jl 0x505a7c
or esi, 0xffffffff
test edi, edi
je 0x5052c0
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x44]
mov dword [eax + 0x4cf3], 0
call fcn.0041d970
mov ecx, dword [0x6ac684]
lea eax, [ebp - 0xac]
push eax
lea ecx, [ecx + 0x347]
call fcn.005c0ab0
push 0
push 0x6ac9c0
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xac]
call fcn.005bc070
push 0
call fcn.0060cd03
mov ecx, dword [ebp - 0xb0]
mov edi, eax
mov eax, edx
mov dword [ebp - 0x50], edi
add esp, 4
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], eax
test ecx, ecx
je 0x504b1f
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
add ecx, 0x37
push 0x6ac9c8
call fcn.004aae40
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x504b1f
add eax, 0xc
jmp 0x504b24
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x504b2f
mov ecx, dword [eax + 0xc]
jmp 0x504b34
mov ecx, 0x651f68
push 0
push 0
push 0xffffffffffffffff
lea edx, [ebp - 0x68]
call fcn.005a4920
push dword [ebp - 0x58]
lea ecx, [ebp - 0x24]
push edi
call fcn.005b82e0
add esp, 0x14
push eax
push 0x6ac9c8
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 4
call fcn.005bbb10
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x504b7c
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x504b7c
push ecx
call fcn.005a47b0
push 0
push 0x6ac9c4
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xb4]
call fcn.005bc070
push 0
push 0x64
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 5
call fcn.0050a980
mov dword [ebp - 0xa4], 0x667b18
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x8c], 0
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x1c], 0
test edi, edi
je 0x504f97
movups xmm0, xmmword [ebp - 0x8c]
movups xmmword [ebp - 0xcc], xmm0
push 0x6ac9cc
mov ecx, edi
call fcn.005bb360
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac9d4
call fcn.004aae40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x504c1f
add ecx, 0xc
jmp 0x504c24
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac908]
cmp ecx, edx
je 0x504c63
test ecx, ecx
je 0x504da5
test edx, edx
je 0x504da5
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x504da5
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x504da5
test edi, edi
je 0x504c8b
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac9d8
call fcn.004aae40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x504c8b
add ecx, 0xc
jmp 0x504c90
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d20
test al, al
je 0x504da5
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test edi, edi
je 0x504cb5
lock inc dword [edi + 8]
mov esi, edi
jmp 0x504cb7
xor esi, esi
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x28], eax
push 0
push 0x3c
push dword [ebp - 0x58]
mov byte [ebp - 4], 7
push dword [ebp - 0x50]
call fcn.00626ed0
mov ecx, edx
mov edi, eax
shld ecx, edi, 4
shl edi, 4
sub edi, eax
sbb ecx, edx
shld ecx, edi, 2
shl edi, 2
mov edx, ecx
mov eax, edi
mov dword [ebp - 0x38], ecx
sub eax, 0x1e2853c
mov dword [ebp - 0x14], eax
sbb edx, 0
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x6c]
jg 0x504d24
jl 0x504d19
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x14]
jae 0x504d27
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x28], edx
jmp 0x504d27
mov eax, dword [ebp - 0x4c]
cmp ecx, edx
jl 0x504d77
jg 0x504d31
cmp edi, eax
jbe 0x504d77
push ecx
push edi
sub esp, 8
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
test esi, esi
je 0x504d4b
lock inc dword [esi + 8]
mov dword [eax + 4], esi
jmp 0x504d52
mov dword [eax + 4], 0
call fcn.005046d0
test al, al
jne 0x504e4c
mov ecx, dword [ebp - 0x38]
add edi, 0xffffffc4
adc ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
cmp ecx, dword [ebp - 0x28]
jg 0x504d31
jl 0x504d77
cmp edi, dword [ebp - 0x4c]
ja 0x504d31
mov byte [ebp - 4], 6
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test esi, esi
je 0x504d9f
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x504d9f
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov edi, dword [ebp - 0x30]
or esi, 0xffffffff
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x34]
call fcn.005bbdd0
mov edx, dword [eax + 4]
cmp edi, edx
je 0x504de4
mov ecx, edi
mov dword [eax + 4], 0
mov dword [ebp - 0x14], ecx
mov edi, edx
mov dword [ebp - 0x30], edi
test ecx, ecx
je 0x504de4
mov eax, esi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x504de4
call fcn.005baee0
mov ecx, dword [ebp - 0x14]
call fcn.005bae00
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x74], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x504e15
mov eax, esi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x504e15
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x504e15
mov ecx, eax
call fcn.005baee0
mov ecx, dword [ebp - 0x14]
call fcn.005bae00
test edi, edi
jne 0x504bef
cmp dword [ebp - 0xcc], 0
mov edi, dword [ebp - 0x1c]
je 0x504f99
push edi
lea ecx, [ebp - 0xa4]
call fcn.00507990
movups xmm0, xmmword [ebp - 0xcc]
inc edi
mov dword [ebp - 0x1c], edi
movups xmmword [eax], xmm0
jmp 0x504f99
mov byte [ebp - 4], 6
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test esi, esi
je 0x504e74
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x504e74
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x38]
test esi, esi
jl 0x504d9f
jg 0x504e89
test edi, edi
je 0x504d9f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xa4]
call fcn.00507990
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x1c]
mov dword [eax], ecx
lea ecx, [ebp - 0xa4]
call fcn.00507990
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x30]
mov dword [eax + 0xc], esi
test edi, edi
je 0x504edb
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac9dc
call fcn.004aae40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x504edb
add ecx, 0xc
jmp 0x504ee0
mov ecx, 0x6aefbc
push 0x6ac9e0
call fcn.005ac950
test al, al
je 0x504f8f
push dword [ebp - 0x58]
inc dword [ebp - 0x54]
lea ecx, [ebp - 0x24]
push dword [ebp - 0x50]
call fcn.005b82e0
add esp, 8
push eax
push 0x6ac9c8
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.005bbb10
mov byte [ebp - 4], 6
or esi, 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x504f35
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x504f35
push ecx
call fcn.005a47b0
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x504f6b
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xa4]
call fcn.00507990
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [eax + 0xc]
jg 0x504da5
jl 0x504f6b
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [eax + 8]
jae 0x504da5
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xa4]
call fcn.00507990
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xcc], xmm0
movups xmmword [ebp - 0x8c], xmm0
jmp 0x504da5
inc dword [ebp - 0x1c]
jmp 0x504da2
xor edi, edi
push 0x504960
push 0x10
push edi
push 0
lea ecx, [ebp - 0xa4]
call fcn.00507990
push eax
call fcn.00611f80
add esp, 0x10
test edi, edi
jle 0x5050ee
mov edi, 1
mov dword [ebp - 0x7c], vtable.CMaaXmlNode.0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
test edi, edi
jle 0x505056
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa4]
mov eax, dword [eax + 0xc]
call eax
test al, al
mov eax, dword [ebp - 0x98]
je 0x505018
cmp edi, eax
ja 0x505018
cmp edi, dword [ebp - 0x9c]
jle 0x5051f1
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x9c], edi
jmp 0x50505b
push dword [ebp - 0x94]
add eax, eax
mov ecx, edi
cmp eax, edi
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x90]
call fcn.0050a980
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x505189
cmp dword [ebp - 0x84], eax
je 0x505189
push eax
call fcn.00606eda
add esp, 4
mov eax, 0x6b13d0
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x505068
lock inc dword [eax + 8]
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x4cf7]
push ecx
lea eax, [ecx + 1]
lea ecx, [ebp - 0x28]
mov dword [edx + 0x4cf7], eax
call fcn.005b7f30
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa
push eax
push 0x6ac9cc
lea ecx, [ebp - 0x7c]
call fcn.005bbb10
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5050b8
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5050b8
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x5050da
mov eax, esi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5050da
call fcn.005baee0
mov ecx, dword [ebp - 0x14]
call fcn.005bae00
add dword [ebp - 0x38], 0x10
inc edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x24], eax
jl 0x504fd5
mov eax, dword [ebp - 0x40]
mov dl, byte [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], ecx
mov byte [ebp - 0x15], dl
test eax, eax
jg 0x505111
test dl, dl
jne 0x505111
cmp dword [0x6ac6c4], 0
jne 0x50511d
dec eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
call fcn.005e0810
mov edi, dword [ebp - 0x54]
cmp edi, 1
jle 0x505245
push 0
push 4
lea ecx, [ebp - 0x90]
call fcn.0042af70
cmp byte [ebp - 0x80], 0
je 0x505245
mov edx, dword [0x6af2bc]
nop
mov ecx, dword [ebp - 0x84]
mov eax, 1
shl eax, cl
test edx, eax
jne 0x5051ff
cmp byte [0x6ac39e], 0
jne 0x5051ff
lea eax, [edi - 1]
push eax
push str._d_batch_set_time_limits_are_skipped_at_startup_by_cron_tab_n
push 0x6a6e70
call fcn.0042abc0
mov dl, byte [ebp - 0x3c]
add esp, 0xc
mov byte [ebp - 0x15], dl
jmp 0x505205
mov edx, dword [ebp - 0x9c]
test edx, edx
jle 0x5051c1
mov edi, dword [ebp - 0x8c]
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [ebp - 0xa0]
lea ecx, [ecx + 0x10]
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ecx + edi - 0x10], xmm0
sub edx, 1
jne 0x5051a0
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x84]
push ecx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], eax
call fcn.00606eda
add esp, 4
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x38]
jmp 0x50505b
mov al, byte [ebp - 0x3c]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x80], 0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x1c], eax
je 0x505245
mov eax, dword [ebp - 0x90]
mov ecx, 0x6af2b8
mov dword [0x6a6e68], eax
mov eax, dword [ebp - 0x8c]
mov dword [0x6a6e6c], eax
mov eax, dword [ebp - 0x88]
xchg dword [ecx], eax
mov ecx, dword [0x6ac16c]
call fcn.005e0810
push dword [ebp - 0xa0]
mov dword [ebp - 0xa4], vtable.CMaaPtr_struct_STmp_.0
call fcn.00606eda
mov edi, dword [ebp - 0x30]
add esp, 4
test edi, edi
je 0x50527c
mov eax, esi
lock xadd dword [edi + 8], eax
dec eax
jne 0x50527c
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov edi, dword [ebp - 0xb0]
test edi, edi
je 0x50529e
mov eax, esi
lock xadd dword [edi + 8], eax
dec eax
jne 0x50529e
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov edi, dword [ebp - 0xa8]
test edi, edi
je 0x5052c0
mov eax, esi
lock xadd dword [edi + 8], eax
dec eax
jne 0x5052c0
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
push 0
call fcn.0060cd03
mov esi, dword [ebp - 0x48]
add esp, 4
mov edi, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x4c], edi
cmp dword [esi + 0x4cfb], eax
jne 0x5052e9
cmp dword [esi + 0x4cff], edi
je 0x50559c
push 0
push 0x3c
push edi
push eax
call fcn.00626ed0
mov esi, eax
mov edi, edx
shld edi, esi, 4
shl esi, 4
sub esi, eax
mov eax, dword [ebp - 0x4c]
sbb edi, edx
mov edx, dword [ebp - 0x58]
shld edi, esi, 2
mov ecx, edx
shl esi, 2
sub ecx, esi
mov esi, dword [ebp - 0x48]
sbb eax, edi
mov edi, dword [ebp - 0x4c]
or ecx, eax
je 0x505344
mov ecx, edx
mov eax, edi
sub ecx, dword [esi + 0x4cfb]
sbb eax, dword [esi + 0x4cff]
mov dword [ebp - 0x80], eax
js 0x50559c
jg 0x505344
cmp ecx, 0x3c
jb 0x50559c
lea ecx, [ebp - 0x44]
call fcn.0041d970
mov ecx, dword [0x6ac684]
mov eax, dword [ebp - 0x58]
mov dword [esi + 0x4cfb], eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ecx + 0x347]
mov dword [esi + 0x4cff], edi
call fcn.005c0ab0
push 0
push 0x6ac9c0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x7c]
call fcn.005bc070
push 0
push 0x6ac9c4
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0xac]
call fcn.005bc070
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x50550d
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac9cc
call fcn.004aae40
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x5053cf
add eax, 0xc
jmp 0x5053d4
mov eax, 0x6aefbc
cmp dword [eax], 0
jne 0x505496
test esi, esi
je 0x505405
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac9d8
call fcn.004aae40
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x505405
add ecx, 0xc
jmp 0x50540a
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d60
test al, al
jne 0x505496
push edi
push dword [ebp - 0x58]
sub esp, 8
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
test esi, esi
je 0x505434
lock inc dword [esi + 8]
mov dword [eax + 4], esi
jmp 0x50543b
mov dword [eax + 4], 0
call fcn.005046d0
test al, al
je 0x505496
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x4cf7]
push ecx
lea eax, [ecx + 1]
lea ecx, [ebp - 0x28]
mov dword [edx + 0x4cf7], eax
call fcn.005b7f30
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x10
push eax
push 0x6ac9cc
lea ecx, [ebp - 0x68]
call fcn.005bbb10
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x505496
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x505496
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x68]
call fcn.005bbdd0
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x5054d4
mov edi, esi
mov dword [eax + 4], 0
mov esi, ecx
mov dword [ebp - 0x64], esi
test edi, edi
je 0x5054d4
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x5054d4
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x505502
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x505502
mov edi, dword [ebp - 0x5c]
test edi, edi
je 0x505502
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov edi, dword [ebp - 0x4c]
test esi, esi
jne 0x5053ab
mov eax, dword [ebp - 0x40]
mov dl, byte [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], ecx
mov byte [ebp - 0x15], dl
test eax, eax
jg 0x505530
test dl, dl
jne 0x505530
cmp dword [0x6ac6c4], 0
jne 0x50553c
dec eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
call fcn.005e0810
or edi, 0xffffffff
test esi, esi
je 0x50555b
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x50555b
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x50557d
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x50557d
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x78]
test esi, esi
je 0x50559c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x50559c
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
xor eax, eax
mov dword [ebp - 0xac], vtable.CMaaXmlNode.0
mov dword [ebp - 0x14], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x6c], eax
mov esi, dword [ebp - 0x70]
push 0xffffffffffffffff
push dword [esi]
call eax
cmp eax, 0x80
jne 0x5055cc
mov dword [esi + 8], 0
jmp 0x5055d0
test eax, eax
jne 0x5055e3
mov eax, dword [ebp - 0x1c]
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
xor esi, esi
xor al, al
mov byte [ebp - 0x29], al
mov dword [ebp - 0x38], esi
mov dword [ebp - 0xa8], esi
mov ecx, dword [0x6ac684]
lea eax, [ebp - 0xbc]
add ecx, 0x347
push eax
call fcn.005c0ab0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x505624
mov dword [ebp - 0x68], vtable.CMaaXmlNode.0
mov dword [ebp - 0x50], eax
jmp 0x50565e
lea ecx, [eax + 0x81]
lea eax, [ebp - 0xc4]
push eax
push 0x6ac9c0
call fcn.005c67a0
mov dword [ebp - 0x68], vtable.CMaaXmlNode.0
test eax, eax
je 0x50564d
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x50565e
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x50565e
lock inc dword [eax + 8]
mov dword [ebp - 0x64], eax
test eax, eax
jne 0x505673
xor edi, edi
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
mov dword [ebp - 0x54], edi
jmp 0x5056ad
lea ecx, [eax + 0x81]
lea eax, [ebp - 0x84]
push eax
push 0x6ac9c4
call fcn.005c67a0
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test eax, eax
je 0x50569c
xor edi, edi
mov dword [ebp - 0x54], edi
jmp 0x5056ad
mov edi, dword [ebp - 0x84]
mov dword [ebp - 0x54], edi
test edi, edi
je 0x5056ad
lock inc dword [edi + 8]
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x5059aa
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac9cc
call fcn.004aae40
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x5056dc
add esi, 0xc
jmp 0x5056e1
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x50575a
lock inc dword [esi]
mov eax, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov edi, dword [eax + 0x4cf7]
push edi
call fcn.005b7c90
sub eax, edi
cmp byte [ebp - 0x29], 0
je 0x505710
cmp eax, dword [ebp - 0xb0]
jge 0x50575e
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x38]
mov byte [ebp - 0x29], 1
cmp edi, eax
je 0x505761
test edi, edi
je 0x50572c
lock inc dword [edi + 8]
mov ecx, eax
mov eax, edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa8], eax
test ecx, ecx
je 0x505761
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x505761
call fcn.005baee0
mov ecx, dword [ebp - 0x24]
call fcn.005bae00
jmp 0x505761
xor esi, esi
jmp 0x505761
mov edi, dword [ebp - 0x54]
test esi, esi
je 0x505777
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x505777
push ecx
mov ecx, esi
call fcn.005a47b0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x60]
call fcn.005bbdd0
mov ecx, dword [eax + 4]
cmp edi, ecx
je 0x5057b8
mov esi, edi
mov dword [eax + 4], 0
mov edi, ecx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x5c], edi
test esi, esi
je 0x5057b8
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x5057b8
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5057e6
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5057e6
mov esi, dword [ebp - 0x78]
test esi, esi
je 0x5057e6
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
jne 0x5056b8
cmp byte [ebp - 0x29], 0
je 0x5059a7
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x58]
call fcn.005b82e0
add esp, 8
push eax
push 0x6ac9c8
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x16
call fcn.005bbb10
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x505832
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x505832
push ecx
call fcn.005a47b0
mov edi, dword [ebp - 0x38]
test edi, edi
je 0x505845
push 0x6ac9cc
mov ecx, edi
call fcn.005bb360
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x50585b
cmp byte [ebp - 0x15], 0
jne 0x50585b
cmp dword [0x6ac6c4], 0
jne 0x50586a
mov ecx, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
call fcn.005e0810
test edi, edi
je 0x505892
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
lea ecx, [edi + 0x37]
push 0x6ac9dc
call fcn.004aae40
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x505892
add esi, 0xc
jmp 0x505897
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x5058a2
lock inc dword [esi]
jmp 0x5058a4
xor esi, esi
mov dword [ebp - 0x24], esi
sub esp, 8
mov byte [ebp - 4], 0x18
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
test edi, edi
je 0x5058c3
lock inc dword [edi + 8]
mov dword [eax + 4], edi
jmp 0x5058ca
mov dword [eax + 4], 0
push 1
push ecx
mov eax, esp
test esi, esi
je 0x5058da
lock inc dword [esi]
mov ecx, esi
jmp 0x5058dc
xor ecx, ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x48]
call fcn.00505ab0
mov edx, dword [0x6ac9ec]
cmp esi, edx
je 0x505916
test esi, esi
je 0x505913
test edx, edx
je 0x505913
mov eax, dword [esi + 4]
cmp eax, dword [edx + 4]
jne 0x505913
mov edx, dword [edx + 0xc]
mov ecx, dword [esi + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x50591a
inc dword [ebp - 0x14]
test esi, esi
je 0x50592c
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x50592c
push ecx
mov ecx, esi
call fcn.005a47b0
mov ecx, dword [ebp - 0x50]
or esi, 0xffffffff
test ecx, ecx
je 0x50594d
mov eax, esi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x50594d
call fcn.005baee0
mov ecx, dword [ebp - 0x50]
call fcn.005bae00
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xbc], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x505975
mov eax, esi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x505975
call fcn.005baee0
mov ecx, dword [ebp - 0x28]
call fcn.005bae00
mov eax, dword [ebp - 0x6c]
test edi, edi
je 0x5055b3
mov eax, esi
lock xadd dword [edi + 8], eax
dec eax
mov eax, dword [ebp - 0x6c]
jne 0x5055b3
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov eax, dword [ebp - 0x6c]
jmp 0x5055b3
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x5059c0
cmp byte [ebp - 0x15], 0
jne 0x5059c0
cmp dword [0x6ac6c4], 0
jne 0x5059cc
mov ecx, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x40], eax
call fcn.005e0810
test edi, edi
je 0x5059e9
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x5059e9
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
mov ecx, dword [ebp - 0x50]
or edi, 0xffffffff
test ecx, ecx
je 0x505a0a
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x505a0a
call fcn.005baee0
mov ecx, dword [ebp - 0x50]
call fcn.005bae00
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x505a28
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x505a28
call fcn.005baee0
mov ecx, dword [ebp - 0x28]
call fcn.005bae00
mov byte [ebp - 4], 1
test esi, esi
je 0x505a48
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x505a48
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x505a7c
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x24]
push eax
push 0x22
mov byte [ebp - 4], 0x1a
call fcn.004ffe30
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x505a7c
lock xadd dword [ecx], edi
dec edi
jne 0x505a7c
push ecx
call fcn.005a47b0
lea ecx, [ebp - 0x44]
call fcn.0041d9b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
ret