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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63cecf
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x168
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x44], esi
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x28], esi
lea ecx, [esi + 0x347]
push eax
call fcn.005c0ab0
mov dword [ebp - 4], 0
cmp dword [ebp - 0xcc], 0
mov dword [ebp - 0x4c], 0xffffffff
je 0x542d80
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0x30]
push eax
push 0x6ac8fc
mov dword [ebp - 0x30], 0
lea ecx, [ecx + 0x37]
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x542d80
add ecx, 0xc
jmp 0x542d85
mov ecx, 0x6aefbc
lea eax, [ebp - 0x4c]
push eax
call fcn.005b7be0
cmp eax, 1
jne 0x542da8
mov eax, dword [ebp - 0x4c]
cmp eax, 0xffffffff
je 0x542da2
mov ecx, 0x6af2bc
xchg dword [ecx], eax
mov eax, dword [0x6af2bc]
nop
lea ecx, [esi + 0x14e]
call fcn.004d09b0
lea ecx, [esi + 0x173]
call fcn.0055fce0
mov cl, 1
call fcn.00541790
push 1
mov ecx, esi
call fcn.0055a640
push 0
push 0x6acd7c
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
push 0
push 0x6acd80
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x58]
call fcn.005bc070
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x542f2d
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acd88
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x542e2a
add ecx, 0xc
jmp 0x542e2f
mov ecx, 0x6aefbc
push ecx
push 0x12c
call fcn.005b7c90
mov edi, eax
push edi
test esi, esi
je 0x542e65
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac928
call fcn.004aae40
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x542e65
add eax, 0xc
jmp 0x542e6a
mov eax, 0x6aefbc
mov eax, dword [eax]
push ecx
mov ecx, esp
test eax, eax
je 0x542e78
lock inc dword [eax]
jmp 0x542e7a
xor eax, eax
mov dword [ecx], eax
call fcn.005703c0
test esi, esi
je 0x542ea9
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acd98
call fcn.004aae40
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x542ea9
add eax, 0xc
jmp 0x542eae
mov eax, 0x6aefbc
mov eax, dword [eax]
push ecx
mov ecx, esp
test eax, eax
je 0x542ebc
lock inc dword [eax]
jmp 0x542ebe
xor eax, eax
mov dword [ecx], eax
push edi
test esi, esi
je 0x542ee9
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac928
call fcn.004aae40
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x542ee9
add eax, 0xc
jmp 0x542eee
mov eax, 0x6aefbc
mov eax, dword [eax]
push ecx
mov ecx, esp
test eax, eax
je 0x542efc
lock inc dword [eax]
jmp 0x542efe
xor eax, eax
mov dword [ecx], eax
call fcn.005707a0
lea eax, [ebp - 0x77]
push eax
lea ecx, [ebp - 0x68]
call fcn.005bbdd0
push eax
lea ecx, [ebp - 0x68]
call fcn.004684a0
lea ecx, [ebp - 0x77]
call fcn.00405d60
mov esi, dword [ebp - 0x64]
test esi, esi
jne 0x542e06
push 0
push 0x6acc28
lea eax, [ebp - 0x77]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
push eax
lea ecx, [ebp - 0x58]
call fcn.004684a0
lea ecx, [ebp - 0x77]
call fcn.00405d60
push 0
push 0x6acc2c
lea eax, [ebp - 0x77]
push eax
lea ecx, [ebp - 0x58]
call fcn.005bc070
push eax
lea ecx, [ebp - 0x68]
call fcn.004684a0
lea ecx, [ebp - 0x77]
call fcn.00405d60
mov ecx, 0x6ae120
call fcn.00409430
cmp dword [0x6ae12c], 0
jbe 0x543056
xor edx, edx
mov dword [ebp - 0x30], edx
cmp dword [0x6ae130], edx
jbe 0x54304c
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x5c], edi
nop word [eax + eax]
mov eax, dword [0x6ae134]
mov esi, dword [eax + ecx]
test esi, esi
je 0x543029
nop dword [eax]
mov ecx, dword [0x6ae124]
mov edx, 1
mov edi, dword [esi]
mov eax, dword [ecx + 0x90]
test eax, eax
cmovne edx, eax
test edx, edx
jns 0x542fed
test ecx, ecx
je 0x543015
push 0x6ae124
push esi
call fcn.00569b40
jmp 0x543015
mov ecx, dword [0x6b0cf8]
call fcn.005e0dc0
mov ecx, dword [0x6ae124]
test ecx, ecx
je 0x54300d
push 0x6ae124
push esi
call fcn.00569b40
lea ecx, [ebp - 0x35]
call fcn.00569540
mov esi, edi
test edi, edi
jne 0x542fc0
mov eax, dword [0x6ae134]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x5c]
mov dword [edi + eax], 0
inc edx
add ecx, 4
mov dword [ebp - 0x30], edx
add edi, 4
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x5c], edi
cmp edx, dword [0x6ae130]
jb 0x542fb0
mov dword [0x6ae12c], 0
mov eax, dword [ebp - 0x64]
or edi, 0xffffffff
mov dword [ebp - 0x48], eax
test eax, eax
je 0x543588
lea ecx, [eax + 0x37]
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push eax
push 0x6acc30
call fcn.004aae40
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x54308b
add esi, 0xc
jmp 0x543090
mov esi, 0x6aefbc
mov esi, dword [esi]
mov eax, dword [ebp - 0x48]
test esi, esi
je 0x54309e
lock inc dword [esi]
jmp 0x5430a0
xor esi, esi
mov dword [ebp - 0x4c], esi
mov byte [ebp - 4], 4
test eax, eax
je 0x5430cf
lea ecx, [eax + 0x37]
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push eax
push 0x6ac930
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x5430cf
add ecx, 0xc
jmp 0x5430d4
mov ecx, 0x6aefbc
push ecx
push 0xffffffffffffffff
call fcn.005b7c90
mov dword [ebp - 0xa8], eax
cmp eax, 0xffffffff
je 0x5434f9
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x4c]
push 0
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [esi + 0x14e]
call fcn.00444140
push 0
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [esi + 0x173]
mov ecx, eax
call fcn.004b1330
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x54314b
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc48
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x54314b
add ecx, 0xc
jmp 0x543150
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d20
test al, al
je 0x543299
test esi, esi
je 0x54318c
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc58
call fcn.004aae40
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x54318c
mov al, 1
add esi, 0xc
jmp 0x543193
mov esi, 0x6aefbc
xor al, al
mov esi, dword [esi]
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x5431a1
lock inc dword [esi]
jmp 0x5431a6
xor esi, esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 5
test al, al
je 0x54327d
test esi, esi
je 0x54327d
cmp dword [esi + 4], 0x11
jne 0x54327d
mov eax, dword [esi + 0xc]
xor edx, edx
add eax, 2
mov dword [ebp - 0x30], eax
mov ch, byte [eax - 2]
mov ah, byte [eax - 1]
mov cl, ch
sub cl, 0x30
cmp cl, 9
jbe 0x543202
mov al, ch
sub al, 0x61
cmp al, 5
ja 0x5431f1
mov cl, ch
sub cl, 0x57
jmp 0x543202
mov al, ch
sub al, 0x41
cmp al, 5
ja 0x54327d
mov cl, ch
sub cl, 0x37
mov esi, edx
mov dword [ebp - 0x2c], edi
mov al, ah
shl cl, 4
lea edi, [ebp - 0x24]
sub al, 0x30
mov byte [edi + esi], cl
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x5c]
cmp al, 9
ja 0x543223
sub cl, 0x30
jmp 0x54323b
mov al, ah
sub al, 0x61
cmp al, 5
ja 0x543230
sub cl, 0x57
jmp 0x54323b
mov al, ah
sub al, 0x41
cmp al, 5
ja 0x54327d
sub cl, 0x37
add cl, ah
lea esi, [ebp - 0x24]
mov eax, edx
mov byte [esi + eax], cl
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
cmp edx, 5
jge 0x54325c
mov cl, byte [eax]
cmp cl, 0x3a
je 0x54325c
cmp cl, 0x2d
jne 0x54327d
inc edx
add eax, 3
mov dword [ebp - 0x30], eax
cmp edx, 6
jl 0x5431d2
push ecx
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00563000
mov byte [ebp - 4], 4
test esi, esi
je 0x543296
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x543296
push ecx
mov ecx, esi
call fcn.005a47b0
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x5432c1
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc70
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x5432c1
add ecx, 0xc
jmp 0x5432c6
mov ecx, 0x6aefbc
push ecx
push 0
xorps xmm1, xmm1
call fcn.005b8310
movsd qword [ebp - 0xe8], xmm0
test esi, esi
je 0x543301
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc74
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x543301
add ecx, 0xc
jmp 0x543306
mov ecx, 0x6aefbc
push ecx
push 0
xorps xmm1, xmm1
call fcn.005b8310
movsd qword [ebp - 0x78], xmm0
test esi, esi
je 0x54333e
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc7c
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x54333e
add ecx, 0xc
jmp 0x543343
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d60
mov byte [ebp - 0x35], al
test esi, esi
je 0x543378
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc80
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x543378
add ecx, 0xc
jmp 0x54337d
mov ecx, 0x6aefbc
push ecx
push 0
call fcn.005b7c90
mov edi, eax
test esi, esi
je 0x5433af
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acca4
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x5433af
add ecx, 0xc
jmp 0x5433b4
mov ecx, 0x6aefbc
push ecx
push 0
push 0
call fcn.005b7d70
movsd xmm0, qword [ebp - 0x78]
sub esp, 0x10
mov ecx, dword [ebp - 0xa8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xe8]
movsd qword [esp], xmm0
push edx
mov dl, byte [ebp - 0x35]
push eax
push edi
call fcn.0056f370
add esp, 0x1c
mov dword [ebp - 0x30], 0xffffffff
test esi, esi
je 0x54341c
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
push eax
lea ecx, [esi + 0x37]
push 0x6acc6c
call fcn.004aae40
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x54341c
add ecx, 0xc
jmp 0x543421
mov ecx, 0x6aefbc
lea eax, [ebp - 0x30]
push eax
call fcn.005b7be0
cmp eax, 1
jne 0x543438
imul edi, dword [ebp - 0x30], 0xea60
jmp 0x54343b
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], 0
push eax
call fcn.004cf5a0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x543462
mov dword [eax + 0x1c], edi
test esi, esi
je 0x54348a
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [esi + 0x37]
push 0x6accac
call fcn.004aae40
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x54348a
add ecx, 0xc
jmp 0x54348f
mov ecx, 0x6aefbc
push ecx
push bind
call fcn.005b7c90
mov esi, eax
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [ebp - 0x44]
sub eax, 0x6ddd00
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [edi + 0xdf]
call fcn.0055f0a0
push ecx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x84], esi
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [edi + 0xdf]
call fcn.00566a10
mov esi, dword [ebp - 0x4c]
or edi, 0xffffffff
mov eax, dword [ebp - 0x48]
sub esp, 8
mov ecx, esp
mov dword [ecx], vtable.CMaaXmlNode.0
test eax, eax
je 0x543514
lock inc dword [eax + 8]
mov dword [ecx + 4], eax
jmp 0x54351b
mov dword [ecx + 4], 0
call fcn.005587c0
add esp, 8
test esi, esi
je 0x543538
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x543538
push ecx
mov ecx, esi
call fcn.005a47b0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x68]
call fcn.005bbdd0
push eax
lea ecx, [ebp - 0x68]
call fcn.004684a0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x54357a
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x54357a
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x54357a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x543067
push 0
push 0x6acdbc
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
push eax
lea ecx, [ebp - 0x58]
call fcn.004684a0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5435d4
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5435d4
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x5435d4
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
push 0
push 0x6acdc0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x58]
call fcn.005bc070
push eax
lea ecx, [ebp - 0x68]
call fcn.004684a0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x54361d
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x54361d
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x54361d
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
cmp dword [ebp - 0x64], 0
je 0x543781
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x30]
push eax
add ecx, 0x37
mov dword [ebp - 0x30], 0
push 0x6ac928
call fcn.004aae40
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x54364e
add esi, 0xc
jmp 0x543653
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x54365e
lock inc dword [esi]
jmp 0x543660
xor esi, esi
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x64], 0
je 0x543690
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x30]
push eax
add ecx, 0x37
mov dword [ebp - 0x30], 0
push 0x6ace28
call fcn.004aae40
mov edi, dword [ebp - 0x30]
test edi, edi
je 0x543690
add edi, 0xc
jmp 0x543695
mov edi, 0x6aefbc
mov edi, dword [edi]
test edi, edi
je 0x5436a0
lock inc dword [edi]
jmp 0x5436a2
xor edi, edi
mov dword [ebp - 0x30], edi
push ecx
push bind
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 7
call fcn.005b7c90
push ecx
push 0x6ac94c
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], eax
call fcn.005aca80
push eax
push dword [ebp - 0x34]
push ecx
mov eax, esp
test esi, esi
je 0x5436da
lock inc dword [esi]
mov ecx, esi
jmp 0x5436dc
xor ecx, ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
call fcn.00559e80
test edi, edi
je 0x5436fc
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x5436fc
push ecx
mov ecx, edi
call fcn.005a47b0
or edi, 0xffffffff
test esi, esi
je 0x543714
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x543714
push ecx
mov ecx, esi
call fcn.005a47b0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x68]
call fcn.005bbdd0
mov esi, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x54374a
mov dword [ebp - 0x64], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x54374a
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54374a
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x543777
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x543777
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x543777
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
cmp dword [ebp - 0x64], 0
jne 0x543627
push 0
push 0x6acce0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
mov esi, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x5437c1
mov dword [ebp - 0x54], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x5437c1
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5437c1
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5437ee
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5437ee
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x5437ee
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
push 0
push 0x6accd0
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x30], 0
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
lea eax, [ebp - 0x30]
push eax
push 0x6accd4
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.005bc070
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc8]
mov esi, dword [ebp - 0x30]
push 1
inc esi
push esi
call fcn.00569e70
mov dword [ebp - 0xc8], 0x66a3e4
push 1
push esi
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xb
call fcn.00569e70
mov dword [ebp - method.CMaaPtr_class_CMaaString_.virtual_0], 0x66a3e4
push 0
sub esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x17c]
push 0
push 0x10
call fcn.004aaee0
xor esi, esi
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x20], 0
je 0x543a55
push 0x6accd8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x81]
call fcn.005c4e10
lea eax, [ebp - 0x30]
push eax
call fcn.005c4f00
lea ecx, [ebp - 0x81]
call fcn.005c4e40
push 0x6accdc
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xf1]
call fcn.005c4e10
lea eax, [ebp - 0x4c]
push eax
call fcn.005c4f00
lea ecx, [ebp - 0xf1]
mov byte [ebp - 4], 0xf
call fcn.005c4e40
push 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x17c]
call fcn.004b1330
test eax, eax
jne 0x5439d7
test esi, esi
js 0x543924
lea eax, [esi + 1]
test eax, eax
js 0x543924
push eax
lea ecx, [ebp - 0xc8]
call fcn.00569d30
test al, al
je 0x543924
mov eax, dword [ebp - 0xc4]
lea eax, [eax + esi*4]
jmp 0x543942
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b0d40]
cmp eax, dword [ecx + 4]
jg 0x545cd5
mov eax, 0x6b0d3c
mov edi, dword [ebp - 0x30]
cmp edi, dword [eax]
je 0x543968
test edi, edi
je 0x543950
lock inc dword [edi]
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
je 0x543968
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x543968
push ecx
call fcn.005a47b0
test esi, esi
js 0x54398e
lea eax, [esi + 1]
test eax, eax
js 0x54398e
push eax
lea ecx, [ebp - 0x12c]
call fcn.00569d30
test al, al
je 0x54398e
mov eax, dword [ebp - 0x128]
lea eax, [eax + esi*4]
jmp 0x5439ac
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b0d40]
cmp eax, dword [ecx + 4]
jg 0x545d18
mov eax, 0x6b0d3c
mov esi, dword [ebp - 0x4c]
cmp esi, dword [eax]
je 0x5439d2
test esi, esi
je 0x5439ba
lock inc dword [esi]
mov ecx, dword [eax]
mov dword [eax], esi
test ecx, ecx
je 0x5439d2
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5439d2
push ecx
call fcn.005a47b0
inc dword [ebp - 0x48]
jmp 0x5439dd
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x5439f3
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5439f3
push ecx
mov ecx, esi
call fcn.005a47b0
mov byte [ebp - 4], 0xd
test edi, edi
je 0x543a0d
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x543a0d
push ecx
mov ecx, edi
call fcn.005a47b0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.0041a9f0
mov ecx, dword [ebp - 0x3c]
mov edi, 0xffffffff
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x543883
or edi, edi
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x543883
call fcn.005baee0
mov ecx, dword [ebp - 0x3c]
call fcn.005bae00
jmp 0x543883
mov esi, dword [ebp - 0x54]
sub esp, 8
mov ecx, dword [ebp - 0x128]
mov eax, esp
mov edx, dword [ebp - 0xc4]
mov dword [eax], vtable.CMaaXmlNode.0
test esi, esi
je 0x543a7c
lock inc dword [esi + 8]
mov dword [eax + 4], esi
jmp 0x543a83
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x48]
push eax
push ecx
mov ecx, dword [ebp - 0x44]
push edx
call fcn.00542a60
lea ecx, [ebp - 0x17c]
mov dword [ebp - method.CMaaUnivHash_New_class_CMaaString__class_CMaaString__1_.virtual_0], vtable.CMaaUnivHash_New_class_CMaaString__int__1_.0
call fcn.004b1610
lea ecx, [ebp - 0x160]
call fcn.0040a090
lea ecx, [ebp - 0x12c]
call fcn.00545d60
lea ecx, [ebp - 0xc8]
call fcn.00545d60
mov esi, dword [ebp - 0x9c]
test esi, esi
je 0x543ae9
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x543ae9
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov eax, dword [ebp - 0x44]
mov dword [ebp - 4], 2
jmp 0x543b2d
lea esi, [eax + 0x95]
mov ecx, esi
call fcn.00409430
push dword [esi + 0x18]
mov eax, dword [esi]
mov ecx, esi
push esi
push 0x800
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x543b6b
mov ecx, dword [esi]
push eax
mov edx, dword [ecx + 4]
mov ecx, esi
call edx
mov edx, dword [ebp - 0x2c]
push 1
mov ecx, dword [edx]
mov eax, dword [ecx + 0xc]
mov ecx, edx
call eax
mov eax, dword [ebp - 0x44]
lea esi, [eax + 0xba]
mov dword [eax + 0x8d], 0
mov ecx, esi
call fcn.00409430
push dword [esi + 0x18]
mov eax, dword [esi]
mov ecx, esi
push esi
push 0x800
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x543bb6
mov ecx, dword [esi]
push eax
mov edx, dword [ecx + 4]
mov ecx, esi
call edx
mov edx, dword [ebp - 0x2c]
push 1
mov ecx, dword [edx]
mov eax, dword [ecx + 0xc]
mov ecx, edx
call eax
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xd0]
push 0
push 0x6acf44
mov byte [ebp - 0x35], 1
mov dword [eax + 0x91], 0
lea eax, [ebp - 0x40]
push eax
call fcn.005bc070
mov esi, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x543c07
mov dword [ebp - 0x54], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x543c07
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x543c07
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x543c34
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x543c34
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x543c34
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x5445e3
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
add esi, 0x37
push 0x6acf58
mov ecx, esi
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543c65
add ecx, 0xc
jmp 0x543c6a
mov ecx, 0x6aefbc
mov edx, dword [0x6ac908]
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x543c7a
mov al, 1
jmp 0x543ca3
test ecx, ecx
je 0x543ca1
test edx, edx
je 0x543ca1
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543ca1
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543ca1
mov al, 1
jmp 0x543ca3
xor al, al
mov byte [0x6a6be3], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf5c
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543ccb
add ecx, 0xc
jmp 0x543cd0
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac908]
cmp ecx, edx
je 0x543d04
test ecx, ecx
je 0x543cff
test edx, edx
je 0x543cff
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543cff
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x543d04
or eax, 0xffffffff
jmp 0x543d09
mov eax, 1
mov dword [0x6ac6ac], eax
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf60
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543d31
add ecx, 0xc
jmp 0x543d36
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac908]
cmp ecx, edx
jne 0x543d46
mov al, 1
jmp 0x543d6f
test ecx, ecx
je 0x543d6d
test edx, edx
je 0x543d6d
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543d6d
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543d6d
mov al, 1
jmp 0x543d6f
xor al, al
mov byte [0x6ac39a], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf64
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543d97
add ecx, 0xc
jmp 0x543d9c
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac908]
cmp ecx, edx
jne 0x543dac
mov al, 1
jmp 0x543dd5
test ecx, ecx
je 0x543dd3
test edx, edx
je 0x543dd3
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543dd3
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543dd3
mov al, 1
jmp 0x543dd5
xor al, al
mov byte [0x6ac39b], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf68
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543dfd
add ecx, 0xc
jmp 0x543e02
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac908]
cmp ecx, edx
jne 0x543e12
mov al, 1
jmp 0x543e3b
test ecx, ecx
je 0x543e39
test edx, edx
je 0x543e39
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543e39
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543e39
mov al, 1
jmp 0x543e3b
xor al, al
mov byte [0x6ac39c], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf6c
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543e63
add ecx, 0xc
jmp 0x543e68
mov ecx, 0x6aefbc
mov edx, dword [0x6ac908]
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x543e78
mov al, 1
jmp 0x543ea1
test ecx, ecx
je 0x543e9f
test edx, edx
je 0x543e9f
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543e9f
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543e9f
mov al, 1
jmp 0x543ea1
xor al, al
mov byte [0x6ac398], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf70
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543ec9
add ecx, 0xc
jmp 0x543ece
mov ecx, 0x6aefbc
mov edx, dword [0x6ac908]
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x543ede
mov al, 1
jmp 0x543f07
test ecx, ecx
je 0x543f05
test edx, edx
je 0x543f05
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x543f05
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x543f05
mov al, 1
jmp 0x543f07
xor al, al
mov byte [0x6ac399], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf48
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543f2f
add ecx, 0xc
jmp 0x543f34
mov ecx, 0x6aefbc
push ecx
push dword [0x6a6c38]
call fcn.005b7c90
mov dword [0x6a6c38], eax
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf4c
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543f68
add ecx, 0xc
jmp 0x543f6d
mov ecx, 0x6aefbc
push ecx
push dword [0x6a6c44]
call fcn.005b7c90
mov dword [0x6a6c44], eax
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf50
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543fa1
add ecx, 0xc
jmp 0x543fa6
mov ecx, 0x6aefbc
push ecx
push dword [0x6a6c40]
call fcn.005b7c90
mov dword [0x6a6c40], eax
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf54
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x543fda
add ecx, 0xc
jmp 0x543fdf
mov ecx, 0x6aefbc
mov eax, 0x10624dd3
mul dword [0x6a6c3c]
push ecx
shr edx, 6
push edx
call fcn.005b7c90
imul eax, eax, 0x3e8
mov ecx, esi
mov dword [ebp - 0x28], 0
mov dword [0x6a6c3c], eax
lea eax, [ebp - 0x28]
push eax
push 0x6acf74
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544022
add ecx, 0xc
jmp 0x544027
mov ecx, 0x6aefbc
mov edx, dword [0x6ac910]
mov ecx, dword [ecx]
cmp ecx, edx
je 0x54408c
test ecx, ecx
je 0x544056
test edx, edx
je 0x544056
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x544056
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x54408c
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf74
mov ecx, esi
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544079
add ecx, 0xc
jmp 0x54407e
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d60
test al, al
je 0x54408e
mov al, 1
mov byte [0x6ac246], al
mov ecx, esi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf78
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5440b6
add ecx, 0xc
jmp 0x5440bb
mov ecx, 0x6aefbc
push ecx
push 0
call fcn.005b7c90
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x28], 0
mov dword [ecx + 0x357], eax
lea eax, [ebp - 0x28]
push eax
push 0x6acf7c
mov ecx, esi
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5440ef
add ecx, 0xc
jmp 0x5440f4
mov ecx, 0x6aefbc
mov ecx, dword [ecx]
mov edx, dword [0x6ac910]
cmp ecx, edx
je 0x544159
test ecx, ecx
je 0x544123
test edx, edx
je 0x544123
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x544123
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x544159
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acf7c
mov ecx, esi
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544146
add ecx, 0xc
jmp 0x54414b
mov ecx, 0x6aefbc
push 0x6ac908
call fcn.005a5d60
test al, al
je 0x54415b
mov al, 1
mov byte [0x6ac39e], al
lea ecx, [ebp - 0x58]
push 0x6acfa4
lea eax, [ebp - 0x81]
push eax
call fcn.0045bc70
push 0x6ac908
mov ecx, eax
call fcn.0056a0d0
lea ecx, [ebp - 0x81]
mov byte [0x6a6be2], al
call fcn.005c4e40
push 0x6acfac
lea eax, [ebp - 0x81]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045bc70
push 0x6ac908
mov ecx, eax
call fcn.0056a0d0
lea ecx, [ebp - 0x81]
mov byte [0x6a6be1], al
call fcn.005c4e40
push 0x6ad15c
lea eax, [ebp - 0x81]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045bc70
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.005c4f00
lea ecx, [ebp - 0x81]
call fcn.005c4e40
cmp dword [ebp - 0x4c], 0
jne 0x544204
mov eax, dword [0x6ad170]
test eax, eax
je 0x544204
lock inc dword [eax]
mov eax, dword [0x6ad170]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
mov ecx, 0x6adafc
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004f9380
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x54422c
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x54422c
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x544242
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544242
push ecx
call fcn.005a47b0
push 0x6ad190
lea eax, [ebp - 0x81]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045bc70
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.005c4f00
lea ecx, [ebp - 0x81]
call fcn.005c4e40
cmp dword [ebp - 0x4c], 0
jne 0x544286
mov eax, dword [0x6ad194]
test eax, eax
je 0x544286
lock inc dword [eax]
mov eax, dword [0x6ad194]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
mov ecx, 0x6adb00
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004f9380
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x5442ae
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5442ae
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x5442c4
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5442c4
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6ad19c
mov ecx, esi
call fcn.004aae40
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 0xc]
test eax, eax
jne 0x5442ea
mov ecx, 0x6aefbc
push ecx
push 0
call fcn.005b7c90
test eax, eax
mov dword [ebp - 0x28], 0
mov ecx, bind
cmovg ecx, eax
lea eax, [ebp - 0x28]
push eax
mov dword [0x6a707c], ecx
mov ecx, esi
push 0x6ad1a0
call fcn.004aae40
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 0xc]
test eax, eax
jne 0x544328
mov ecx, 0x6aefbc
push ecx
push 0
call fcn.005b7c90
test eax, eax
mov ecx, bind
push 0x6acfb0
cmovg ecx, eax
lea eax, [ebp - 0x81]
mov dword [0x6a7080], ecx
lea ecx, [ebp - 0x58]
push eax
call fcn.0045bc70
push 0x6ac908
mov ecx, eax
call fcn.0056a0d0
lea ecx, [ebp - 0x81]
mov byte [0x6ac244], al
call fcn.005c4e40
push 0x6acfe0
lea eax, [ebp - 0xf1]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045bc70
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call fcn.005c4f00
push eax
lea eax, [ebp - 0x2c]
mov ecx, 0x6ad8d8
push eax
call fcn.004f9380
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x5443b4
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5443b4
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x5443ca
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5443ca
push ecx
call fcn.005a47b0
lea ecx, [ebp - 0xf1]
call fcn.005c4e40
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acfe4
mov ecx, esi
call fcn.004aae40
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 0xc]
test eax, eax
jne 0x5443fb
mov ecx, 0x6aefbc
mov eax, 0x10624dd3
imul dword [0x6a6c04]
push ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.005b7c90
imul eax, eax, 0x3e8
mov ecx, esi
mov dword [ebp - 0x28], 0
mov dword [0x6a6c04], eax
lea eax, [ebp - 0x28]
push eax
push 0x6acfe8
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544445
add ecx, 0xc
jmp 0x54444a
mov ecx, 0x6aefbc
mov eax, 0x10624dd3
imul dword [0x6a6c08]
push ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.005b7c90
imul eax, eax, 0x3e8
mov ecx, esi
mov dword [ebp - 0x28], 0
mov dword [0x6a6c08], eax
lea eax, [ebp - 0x28]
push eax
push 0x6acfec
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544494
add ecx, 0xc
jmp 0x544499
mov ecx, 0x6aefbc
mov eax, 0x10624dd3
imul dword [0x6a6c00]
push ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.005b7c90
imul eax, eax, 0x3e8
mov ecx, esi
mov dword [ebp - 0x28], 0
mov dword [0x6a6c00], eax
lea eax, [ebp - 0x28]
push eax
push 0x6acff0
call fcn.004aae40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x5444e3
add eax, 0xc
jmp 0x5444e8
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x5444f3
lock inc dword [eax]
jmp 0x5444f5
xor eax, eax
mov dword [ebp - 0x28], eax
mov ecx, 0x6ad8dc
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004f9380
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x544520
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544520
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544536
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544536
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6acff4
mov ecx, esi
call fcn.004aae40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x544559
add eax, 0xc
jmp 0x54455e
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x544569
lock inc dword [eax]
jmp 0x54456b
xor eax, eax
mov dword [ebp - 0x28], eax
mov ecx, 0x6ad8e0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004f9380
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x544596
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544596
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5445ac
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5445ac
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
push 0x6ad18c
mov ecx, esi
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5445cf
add ecx, 0xc
jmp 0x5445d4
mov ecx, 0x6aefbc
push 0x6ac90c
call fcn.005a5d60
xor al, 1
mov byte [ebp - 0x35], al
push 0
sub esp, 8
lea ecx, [ebp - 0x154]
push 0
push 0x10
call fcn.004aaee0
push 0
push 0x6ad098
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
mov esi, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x54463b
mov dword [ebp - 0x54], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x54463b
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54463b
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x544668
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x544668
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x544668
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
cmp dword [ebp - 0x54], 0
je 0x544dba
push 0x6ad09c
lea eax, [ebp - 0x81]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045bc70
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, eax
call fcn.005c4f70
lea ecx, [ebp - 0x81]
call fcn.005c4e40
mov esi, dword [ebp - 0x9c]
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x48], eax
test esi, esi
je 0x544d98
nop word [eax + eax]
mov eax, dword [0x6ad0bc]
mov dword [ebp - 0xf1], esi
test eax, eax
je 0x5446da
lock inc dword [eax]
mov dword [ebp - 0xed], eax
jmp 0x5446e4
mov dword [ebp - 0xed], 0
mov byte [ebp - 0xe9], 0
test esi, esi
je 0x5446f3
lock inc dword [esi + 8]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0xf1]
call fcn.005c4f70
lea ecx, [ebp - 0xf1]
call fcn.005c4e40
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], esi
test esi, esi
je 0x544d29
nop dword [eax + eax]
mov eax, dword [0x6ad0f8]
mov dword [ebp - 0x81], esi
test eax, eax
je 0x544737
lock inc dword [eax]
mov dword [ebp - 0x7d], eax
jmp 0x54473e
mov dword [ebp - 0x7d], 0
mov byte [ebp - 0x79], 0
test esi, esi
je 0x54474a
lock inc dword [esi + 8]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x81]
call fcn.005c4f70
lea ecx, [ebp - 0x81]
call fcn.005c4e40
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x54494b
mov dword [ebp - 0x2c], 0
nop word [eax + eax]
mov eax, dword [0x6ad0fc]
mov dword [ebp - 0xd9], esi
test eax, eax
je 0x54479a
lock inc dword [eax]
mov dword [ebp - 0xd5], eax
jmp 0x5447a4
mov dword [ebp - 0xd5], 0
mov byte [ebp - 0xd1], 0
test esi, esi
je 0x5447b3
lock inc dword [esi + 8]
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd9]
call fcn.005c4f00
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0xd9]
test esi, esi
je 0x5447eb
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5447eb
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0xd5]
test ecx, ecx
je 0x544804
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544804
push ecx
call fcn.005a47b0
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x154]
call fcn.004b1330
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x28], 0
test byte [esi + 0x18], 3
jne 0x544887
lea ecx, [ebp - 0x98]
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test edi, edi
je 0x544887
mov esi, dword [ebp - 0x98]
nop
mov ecx, dword [edi + 4]
cmp ecx, esi
je 0x544882
test ecx, ecx
je 0x54487a
test esi, esi
je 0x54487a
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x54487a
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x544882
mov edi, dword [edi]
test edi, edi
jne 0x544850
jmp 0x54488d
mov eax, dword [edi + 8]
jmp 0x544890
mov esi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x35], 0
jne 0x5448cc
test eax, eax
je 0x5448a6
mov eax, dword [eax + 0x50]
test eax, eax
je 0x5448cc
cmp eax, 3
je 0x5448cc
push 0
push ecx
mov eax, esp
test esi, esi
je 0x5448be
lock inc dword [esi]
mov ecx, dword [ebp - 0x44]
mov dword [eax], esi
call fcn.00545de0
jmp 0x5448e9
mov ecx, dword [ebp - 0x44]
xor esi, esi
mov dword [eax], esi
call fcn.00545de0
jmp 0x5448e9
mov ecx, dword [ebp - 0x44]
add ecx, 0x25
push 0
push ecx
mov eax, esp
test esi, esi
je 0x5448e0
lock inc dword [esi]
jmp 0x5448e2
xor esi, esi
mov dword [eax], esi
call fcn.0053a990
mov ecx, dword [ebp - 0x98]
or edi, 0xffffffff
test ecx, ecx
je 0x544905
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544905
push ecx
call fcn.005a47b0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x50]
call fcn.0041a9f0
mov esi, dword [ebp - 0xa8]
mov dword [ebp - 0xac], vtable.CMaaXmlNode.0
test esi, esi
je 0x544940
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544940
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x4c]
test esi, esi
jne 0x544780
mov eax, dword [0x6ad100]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x78], ecx
test eax, eax
je 0x544962
lock inc dword [eax]
mov dword [ebp - 0x74], eax
jmp 0x544969
mov dword [ebp - 0x74], 0
mov byte [ebp - 0x70], 0
test ecx, ecx
je 0x544975
lock inc dword [ecx + 8]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x78]
call fcn.005c4f70
mov edx, dword [eax + 4]
cmp esi, edx
je 0x5449b4
mov ecx, esi
mov dword [eax + 4], 0
mov dword [ebp - 0x2c], ecx
mov esi, edx
mov dword [ebp - 0x4c], esi
test ecx, ecx
je 0x5449b4
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5449b4
call fcn.005baee0
mov ecx, dword [ebp - 0x2c]
call fcn.005bae00
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5449e5
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5449e5
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x5449e5
mov ecx, eax
call fcn.005baee0
mov ecx, dword [ebp - 0x2c]
call fcn.005bae00
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x544a03
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x544a03
call fcn.005baee0
mov ecx, dword [ebp - 0x78]
call fcn.005bae00
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x544a19
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544a19
push ecx
call fcn.005a47b0
test esi, esi
je 0x544cba
mov dword [ebp - 0x2c], 1
nop dword [eax + eax]
mov edi, dword [0x6ad104]
mov dword [ebp - 0x91], esi
test edi, edi
je 0x544a45
lock inc dword [edi]
jmp 0x544a47
xor edi, edi
mov dword [ebp - 0x8d], edi
mov byte [ebp - 0x89], 0
test esi, esi
je 0x544a68
lock inc dword [esi + 8]
test esi, esi
je 0x544a68
lock inc dword [esi + 8]
test esi, esi
jne 0x544a6f
mov eax, 0x6aefbc
jmp 0x544aa0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x8d]
lea ecx, [esi + 0x37]
push eax
call fcn.004aae40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x544a95
add eax, 0xc
jmp 0x544a9a
mov eax, 0x6aefbc
mov edi, dword [ebp - 0x8d]
mov eax, dword [eax]
test eax, eax
je 0x544ab1
lock inc dword [eax]
mov dword [ebp - 0xb0], eax
jmp 0x544abb
mov dword [ebp - 0xb0], 0
test esi, esi
je 0x544ad8
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x544ad8
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov byte [ebp - 4], 0x18
mov esi, dword [ebp - 0x91]
test esi, esi
je 0x544aff
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x544aff
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
je 0x544b15
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x544b15
push ecx
mov ecx, edi
call fcn.005a47b0
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x154]
call fcn.004b1330
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x28], 0
test byte [esi + 0x18], 3
jne 0x544b97
lea ecx, [ebp - 0xb0]
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x544b97
mov esi, dword [ebp - 0xb0]
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, esi
je 0x544b92
test ecx, ecx
je 0x544b8a
test esi, esi
je 0x544b8a
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x544b8a
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x544b92
mov edi, dword [edi]
test edi, edi
jne 0x544b60
jmp 0x544b9d
mov eax, dword [edi + 8]
jmp 0x544ba0
mov esi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x35], 0
jne 0x544bdd
test eax, eax
je 0x544bb7
mov eax, dword [eax + 0x50]
cmp eax, 1
je 0x544bdd
cmp eax, 3
je 0x544bdd
push 1
push ecx
mov eax, esp
test esi, esi
je 0x544bcf
lock inc dword [esi]
mov ecx, dword [ebp - 0x44]
mov dword [eax], esi
call fcn.00545de0
jmp 0x544bfa
mov ecx, dword [ebp - 0x44]
xor esi, esi
mov dword [eax], esi
call fcn.00545de0
jmp 0x544bfa
mov ecx, dword [ebp - 0x44]
add ecx, 0x25
push 1
push ecx
mov eax, esp
test esi, esi
je 0x544bf1
lock inc dword [esi]
jmp 0x544bf3
xor esi, esi
mov dword [eax], esi
call fcn.0053a990
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x544c14
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x544c14
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x10e]
push eax
lea ecx, [ebp - 0x50]
call fcn.0041a9f0
mov esi, dword [ebp - 0x10a]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test esi, esi
je 0x544caf
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x544caf
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x544c8b
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x544c8b
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov esi, dword [0x6b0dec]
call dword [ebp - 0x48]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x544caf
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x544cac
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
mov esi, dword [ebp - 0x4c]
test esi, esi
jne 0x544a30
or edi, 0xffffffff
mov dword [ebp - 0x50], vtable.CMaaXmlNode.0
test esi, esi
je 0x544ce0
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544ce0
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0x116]
push eax
lea ecx, [ebp - 0x60]
call fcn.0041a9f0
mov esi, dword [ebp - 0x112]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test esi, esi
je 0x544d1b
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544d1b
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], esi
test esi, esi
jne 0x544720
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test esi, esi
je 0x544d4c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544d4c
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041a9f0
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], vtable.CMaaXmlNode.0
test esi, esi
je 0x544d8a
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544d8a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x9c]
test esi, esi
jne 0x5446c0
mov byte [ebp - 4], 0x11
test esi, esi
je 0x544dc2
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544dc2
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
jmp 0x544dc2
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x48], eax
push 0
push 0x6ad108
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
mov esi, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x544e02
mov dword [ebp - 0x54], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x544e02
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544e02
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x544e2f
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x544e2f
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x544e2f
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x5454c7
mov eax, dword [0x6ad10c]
mov dword [ebp - 0x81], esi
test eax, eax
je 0x544e51
lock inc dword [eax]
mov dword [ebp - 0x7d], eax
jmp 0x544e58
mov dword [ebp - 0x7d], 0
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x79], 0
add eax, 8
lock inc dword [eax]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x81]
call fcn.005c4f70
lea ecx, [ebp - 0x81]
call fcn.005c4e40
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x5454a7
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
lea ecx, [esi + 0x37]
push 0x6ac928
call fcn.004aae40
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x544eae
add ecx, 0xc
jmp 0x544eb3
mov ecx, 0x6aefbc
push 0x6550ec
call fcn.005a5cd0
test al, al
je 0x54546a
push 0
push 0x6ad114
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x40]
call fcn.005bc070
mov esi, dword [ebp - 0x5c]
test esi, esi
je 0x545447
push 0
push 0x6ad0bc
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x60]
call fcn.005bc070
mov esi, dword [ebp - 0x9c]
test esi, esi
je 0x54537c
nop word [eax + eax]
mov eax, dword [0x6ad0f8]
mov dword [ebp - 0x91], esi
test eax, eax
je 0x544f2a
lock inc dword [eax]
mov dword [ebp - 0x8d], eax
jmp 0x544f34
mov dword [ebp - 0x8d], 0
mov byte [ebp - 0x89], 0
test esi, esi
je 0x544f43
lock inc dword [esi + 8]
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x91]
call fcn.005c4f70
mov esi, dword [ebp - 0x91]
test esi, esi
je 0x544f77
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x544f77
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x8d]
test ecx, ecx
je 0x544f90
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x544f90
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x5452a8
mov dword [ebp - 0x2c], 0
nop word [eax + eax]
mov edi, dword [0x6ad0fc]
mov dword [ebp - 0xd9], esi
test edi, edi
je 0x544fc5
lock inc dword [edi]
jmp 0x544fc7
xor edi, edi
mov dword [ebp - 0xd5], edi
mov byte [ebp - 0xd1], 0
test esi, esi
je 0x544fe8
lock inc dword [esi + 8]
test esi, esi
je 0x544fe8
lock inc dword [esi + 8]
test esi, esi
jne 0x544fef
mov eax, 0x6aefbc
jmp 0x545020
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0xd5]
lea ecx, [esi + 0x37]
push eax
call fcn.004aae40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x545015
add eax, 0xc
jmp 0x54501a
mov eax, 0x6aefbc
mov edi, dword [ebp - 0xd5]
mov eax, dword [eax]
test eax, eax
je 0x545031
lock inc dword [eax]
mov dword [ebp - 0xa4], eax
jmp 0x54503b
mov dword [ebp - 0xa4], 0
test esi, esi
je 0x545058
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x545058
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0xd9]
test esi, esi
je 0x54507f
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54507f
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
test edi, edi
je 0x545095
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x545095
push ecx
mov ecx, edi
call fcn.005a47b0
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x154]
call fcn.004b1330
mov ecx, dword [ebp - 0x44]
xor eax, eax
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
test byte [ecx + 0x18], 3
jne 0x5451e9
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x545194
test byte [esi + 0x10], 2
je 0x5450e1
mov ecx, dword [esi + 8]
jmp 0x545196
mov edi, dword [esi + 4]
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], ecx
cmp edi, 4
ja 0x54511b
push edi
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0xa4]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0xa4]
jmp 0x545196
mov eax, edi
sar eax, 2
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x28], eax
je 0x545153
mov esi, dword [ebp - 0x28]
xor edi, edi
mov ecx, edi
shr eax, 0x19
shl ecx, 7
or ecx, eax
xor ecx, dword [edx]
add edx, 4
mov eax, ecx
mov edi, eax
sub esi, 1
jne 0x545132
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
and edi, 3
je 0x54517e
mov esi, dword [ebp - 0x30]
nop dword [eax + eax]
mov ecx, eax
shl esi, 7
movzx eax, byte [edx]
lea edx, [edx + 1]
shr ecx, 0x19
or ecx, esi
xor ecx, eax
mov eax, ecx
mov esi, eax
sub edi, 1
jne 0x545160
mov esi, dword [ebp - 0x4c]
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0xa4]
or word [eax + 0x10], 2
mov esi, dword [ebp - 0xa4]
jmp 0x545196
xor ecx, ecx
mov eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x44]
div dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test edi, edi
je 0x5451e3
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, esi
je 0x545214
test ecx, ecx
je 0x5451da
test esi, esi
je 0x5451da
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x5451da
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x545214
mov edi, dword [edi]
test edi, edi
jne 0x5451b0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x98]
cmp byte [ebp - 0x35], 0
jne 0x545227
test eax, eax
je 0x5451ff
mov eax, dword [eax + 0x50]
test eax, eax
je 0x545227
cmp eax, 3
je 0x545227
push 0
push ecx
mov eax, esp
test esi, esi
je 0x54521c
lock inc dword [esi]
mov dword [eax], esi
call fcn.00545de0
jmp 0x545241
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x44]
jmp 0x5451e9
xor esi, esi
mov dword [eax], esi
call fcn.00545de0
jmp 0x545241
add ecx, 0x25
push 0
push ecx
mov eax, esp
test esi, esi
je 0x545238
lock inc dword [esi]
jmp 0x54523a
xor esi, esi
mov dword [eax], esi
call fcn.0053a990
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x54525b
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x54525b
push ecx
call fcn.005a47b0
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xac]
call fcn.0041a9f0
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], vtable.CMaaXmlNode.0
test esi, esi
je 0x54529a
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x54529a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0xa8]
test esi, esi
jne 0x544fb0
or edi, 0xffffffff
mov dword [ebp - 0xac], vtable.CMaaXmlNode.0
test esi, esi
je 0x5452d1
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5452d1
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0x116]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041a9f0
mov esi, dword [ebp - 0x112]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test esi, esi
je 0x54536e
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54536e
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x54534a
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x54534a
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov esi, dword [0x6b0dec]
call dword [ebp - 0x48]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x54536e
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x54536b
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
mov esi, dword [ebp - 0x9c]
test esi, esi
jne 0x544f10
mov dword [ebp - 0xa0], vtable.CMaaXmlNode.0
test esi, esi
je 0x5453a2
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5453a2
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0x10e]
push eax
lea ecx, [ebp - 0x60]
call fcn.0041a9f0
mov esi, dword [ebp - 0x10a]
mov dword [ebp - method.CMaaXmlElement.virtual_0], vtable.CMaaXmlNode.0
test esi, esi
je 0x54543c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54543c
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x545418
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x545418
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov esi, dword [0x6b0dec]
call dword [ebp - 0x48]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x54543c
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x545439
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
mov esi, dword [ebp - 0x5c]
test esi, esi
jne 0x544ee3
mov dword [ebp - 0x60], vtable.CMaaXmlNode.0
test esi, esi
je 0x54546a
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54546a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0x77]
push eax
lea ecx, [ebp - 0x40]
call fcn.0041a9f0
mov esi, dword [ebp - 0x73]
mov dword [ebp - 0x77], vtable.CMaaXmlNode.0
test esi, esi
je 0x54549c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54549c
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x544e8a
mov byte [ebp - 4], 0x11
test esi, esi
je 0x5454c7
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5454c7
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
push 0
push 0x6acb48
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd0]
call fcn.005bc070
mov esi, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
cmp esi, ecx
je 0x545507
mov dword [ebp - 0x54], ecx
mov dword [eax + 4], 0
test esi, esi
je 0x545507
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x545507
push ecx
mov ecx, esi
call fcn.005baec0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x545534
mov eax, edi
lock xadd dword [ecx + 8], eax
dec eax
jne 0x545534
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x545534
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x5458cb
mov eax, dword [0x6acb4c]
mov dword [ebp - 0x81], esi
test eax, eax
je 0x545556
lock inc dword [eax]
mov dword [ebp - 0x7d], eax
jmp 0x54555d
mov dword [ebp - 0x7d], 0
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x79], 0
add eax, 8
lock inc dword [eax]
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x81]
call fcn.005c4f70
lea ecx, [ebp - 0x81]
mov byte [ebp - 4], 0x22
call fcn.005c4e40
cmp dword [ebp - 0x9c], 0
je 0x5458cb
nop dword [eax + eax]
push 0
push 0x6acb84
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xa0]
call fcn.005bc070
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x5457f6
mov dword [ebp - 0x2c], 0
nop dword [eax + eax]
mov eax, dword [0x6ac93c]
mov dword [ebp - 0x91], esi
test eax, eax
je 0x5455ea
lock inc dword [eax]
mov dword [ebp - 0x8d], eax
jmp 0x5455f4
mov dword [ebp - 0x8d], 0
mov byte [ebp - 0x89], 0
test esi, esi
je 0x545603
lock inc dword [esi + 8]
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x91]
call fcn.005c4f00
mov byte [ebp - 4], 0x28
mov esi, dword [ebp - 0x91]
test esi, esi
je 0x54563b
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54563b
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0x8d]
test ecx, ecx
je 0x545654
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x545654
push ecx
call fcn.005a47b0
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x154]
call fcn.004b1330
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x28], 0
test byte [esi + 0x18], 3
jne 0x5456de
lea ecx, [ebp - 0xe0]
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x5456de
mov esi, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
cmp ecx, esi
je 0x5456d9
test ecx, ecx
je 0x5456ce
test esi, esi
je 0x5456ce
mov edx, dword [ecx + 4]
cmp edx, dword [esi + 4]
jne 0x5456ce
mov ecx, dword [ecx + 0xc]
push edx
mov edx, dword [esi + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
mov eax, dword [ebp - 0x30]
jne 0x5456d9
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x5456a1
jmp 0x5456e4
mov eax, dword [eax + 8]
jmp 0x5456e7
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x35], 0
jne 0x545724
test eax, eax
je 0x5456fe
mov eax, dword [eax + 0x50]
cmp eax, 4
je 0x545724
cmp eax, 3
je 0x545724
push 4
push ecx
mov eax, esp
test esi, esi
je 0x545716
lock inc dword [esi]
mov ecx, dword [ebp - 0x44]
mov dword [eax], esi
call fcn.00545de0
jmp 0x545741
mov ecx, dword [ebp - 0x44]
xor esi, esi
mov dword [eax], esi
call fcn.00545de0
jmp 0x545741
mov ecx, dword [ebp - 0x44]
add ecx, 0x25
push 4
push ecx
mov eax, esp
test esi, esi
je 0x545738
lock inc dword [esi]
jmp 0x54573a
xor esi, esi
mov dword [eax], esi
call fcn.0053a990
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x54575a
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x54575a
push ecx
call fcn.005a47b0
lea eax, [ebp - 0x77]
push eax
lea ecx, [ebp - 0x40]
call fcn.0041a9f0
mov esi, dword [ebp - 0x73]
mov dword [ebp - 0x77], vtable.CMaaXmlNode.0
test esi, esi
je 0x5457eb
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5457eb
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x5457c7
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x5457c7
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov esi, dword [0x6b0dec]
call dword [ebp - 0x48]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x5457eb
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x5457e8
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x5455d0
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x40], vtable.CMaaXmlNode.0
test esi, esi
je 0x54581d
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x54581d
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041a9f0
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], vtable.CMaaXmlNode.0
test esi, esi
je 0x5458be
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x5458be
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x545896
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x545896
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov byte [ebp - 4], 0x22
mov esi, dword [0x6b0dec]
call dword [ebp - 0x48]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x5458be
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x5458bb
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
cmp dword [ebp - 0x9c], 0
jne 0x5455a0
push dword [ebp - 0x44]
lea ecx, [ebp - 0xc8]
call fcn.004a6f20
nop dword [eax]
cmp dword [ebp - 0xc0], 0
je 0x545c0e
cmp byte [ebp - 0xb4], 0
jne 0x545be0
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x545be0
mov esi, dword [eax + 4]
test esi, esi
je 0x545914
lock inc dword [esi]
jmp 0x545916
xor esi, esi
test byte [ebp - 0x13c], 3
mov dword [ebp - 0x2c], esi
jne 0x545980
lea ecx, [ebp - 0x2c]
call fcn.005acb50
xor edx, edx
div dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x545980
mov ecx, dword [eax + 4]
cmp ecx, esi
je 0x545a69
test ecx, ecx
je 0x545977
test esi, esi
je 0x545977
mov edx, dword [ecx + 4]
cmp edx, dword [esi + 4]
jne 0x545977
mov ecx, dword [ecx + 0xc]
push edx
mov edx, dword [esi + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x545a69
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x545942
mov dword [ebp - 0x30], 1
test esi, esi
je 0x54599c
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x54599c
push ecx
mov ecx, esi
call fcn.005a47b0
cmp dword [ebp - 0x30], 0
je 0x545aba
mov eax, dword [ebp - 0xbc]
mov esi, dword [eax + 8]
test esi, esi
je 0x5459c8
mov ecx, esi
call fcn.0054a0a0
push 0x203
push esi
call fcn.00606a78
add esp, 8
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0x30], esi
test esi, esi
je 0x545aba
cmp byte [ebp - 0xb4], 0
jne 0x545aba
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x545aba
add eax, 4
test byte [esi + 0x18], 3
mov dword [ebp - 0x2c], eax
jne 0x545aba
mov ecx, eax
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov esi, dword [eax + edx*4]
lea ecx, [eax + edx*4]
xor eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], eax
test esi, esi
je 0x545aba
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov ecx, dword [esi + 4]
cmp ecx, eax
je 0x545a75
test ecx, ecx
je 0x545a5e
test eax, eax
je 0x545a5e
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
jne 0x545a5e
mov ecx, dword [ecx + 0xc]
push edx
mov edx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x545a75
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], esi
mov esi, dword [esi]
test esi, esi
jne 0x545a31
jmp 0x545aba
mov dword [ebp - 0x30], 0
jmp 0x545987
mov ecx, dword [ebp - 0x30]
push esi
call fcn.0042a1d0
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi]
test eax, eax
jne 0x545a8a
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
dec dword [ecx + 0xc]
mov edx, dword [esi + 4]
test edx, edx
je 0x545aad
mov eax, edi
lock xadd dword [edx], eax
dec eax
jne 0x545aad
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x30]
add ecx, 4
push ecx
push ecx
push esi
mov ecx, dword [ecx]
call fcn.005608f0
cmp dword [ebp - 0xc0], 0
je 0x545b35
cmp byte [ebp - 0xb4], 0
jne 0x545b2e
lea ecx, [ebp - 0xc8]
call fcn.00408f90
cmp byte [ebp - 0xb4], 0
jne 0x545b2e
cmp dword [ebp - 0xc0], 0
je 0x545b35
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x545b01
mov eax, dword [ebp - 0xc8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x545b0e
mov dword [eax + 4], ecx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc0], 0
jmp 0x545b35
mov byte [ebp - 0xb4], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x106], 0
mov dword [ebp - 0x102], 0
mov dword [ebp - 0xfe], ecx
test ecx, ecx
je 0x5458e0
mov eax, dword [ebp - 0xbc]
add ecx, 0x1c
mov dword [ebp - 0xfa], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xf6], eax
mov al, byte [ebp - 0xb4]
mov byte [ebp - 0xf2], al
mov eax, dword [ecx]
mov dword [ebp - 0x106], eax
lea eax, [ebp - 0x106]
mov dword [ebp - 0x102], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0x106]
mov dword [eax + 4], ecx
cmp dword [ebp - 0xfe], 0
je 0x5458e0
mov ecx, dword [ebp - 0x102]
test ecx, ecx
je 0x545bca
mov eax, dword [ebp - 0x106]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x102]
mov eax, dword [ebp - 0x106]
test eax, eax
je 0x5458e0
mov dword [eax + 4], ecx
jmp 0x5458e0
cmp dword [ebp - 0xc0], 0
je 0x545c0e
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x545bfb
mov eax, dword [ebp - 0xc8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x545c0e
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 4], eax
mov esi, dword [ebp - 0x44]
mov ecx, esi
call fcn.0054c8c0
mov ecx, esi
call fcn.0054cac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x3a5]
cmp eax, 0x1d4c0
jb 0x545c39
mov ecx, esi
call fcn.0054c510
lea ecx, [ebp - 0x154]
mov dword [ebp - method.CMaaUnivHash_New_class_CMaaString__class_CMaaString__1_.virtual_0], vtable.CMaaUnivHash_New_class_CMaaString__int__1_.0
call fcn.004b1610
lea ecx, [ebp - 0x138]
call fcn.0040a090
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x545c78
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x545c78
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x545c97
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x545c97
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x545cb7
lock xadd dword [esi + 8], edi
dec edi
jne 0x545cb7
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x6b0d40
call fcn.00606e68
add esp, 4
cmp dword [0x6b0d40], 0xffffffff
jne 0x54393d
push 0x649930
mov dword [0x6b0d3c], 0
call fcn.00606dd7
add esp, 4
push 0x6b0d40
call fcn.00606e17
add esp, 4
jmp 0x54393d
push 0x6b0d40
call fcn.00606e68
add esp, 4
cmp dword [0x6b0d40], 0xffffffff
jne 0x5439a7
push 0x649930
mov dword [0x6b0d3c], 0
call fcn.00606dd7
add esp, 4
push 0x6b0d40
call fcn.00606e17
add esp, 4
jmp 0x5439a7