Function at 0x62c240
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x816598
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push esi
mov dword [ebp - 0x10], 0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [ebp - 0x20], edi
cmp esi, 0xb
jne 0x62c280
cmp ebx, 0x20000
je 0x62c29f
mov ecx, ebx
xor eax, eax
and ecx, 0xfff00000
or eax, ecx
jne 0x62c29f
mov eax, ebx
shr eax, 0x10
and eax, 0xf
cmp eax, 3
je 0x62ea9a
cmp esi, 0xb
jne 0x62c2b0
cmp ebx, 0x20000
je 0x62ea9a
mov ecx, ebx
xor eax, eax
and ecx, 0xfff00000
or eax, ecx
jne 0x62ea9a
cmp esi, 2
jne 0x62c783
cmp ebx, 0x20000
jne 0x62c783
cmp byte [edi + 0x1c], al
jne 0x62eab6
mov eax, dword [edi + 8]
lea edi, [esi - 1]
mov dword [ebp - 0x10], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62c333
or eax, edi
mov dword [0x94dbf4], eax
push 0x10
mov dword [ebp - 4], 0
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x62c339
mov esi, dword [0x94dbf8]
push 0
push 0
push 9
push str.undefined
push 0
push 3
mov dword [ebp + 0x10], esi
call dword [0x82819c]
or edx, 0xffffffff
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x62c40a
test esi, esi
je 0x62c3bf
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c3a6
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 1
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
or edx, 0xffffffff
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62c3bf
mov eax, edx
lock xadd dword [esi], eax
jne 0x62c3bf
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c3ff
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 2
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62c62d
cmp eax, dword [esi + 4]
ja 0x62c426
cmp dword [esi], 1
mov esi, dword [ebp + 0x10]
jg 0x62c426
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x62c630
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c470
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 3
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
cmp esi, dword [0x94dbf8]
jne 0x62c4ec
test eax, eax
je 0x62c4cd
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62c4b4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c583
or dword [0x94dbf4], 1
mov dword [ebp - 4], 4
jmp 0x62c560
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62c589
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c583
or dword [0x94dbf4], 1
mov dword [ebp - 4], 5
jmp 0x62c560
test eax, eax
je 0x62c547
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x18], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62c52e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c583
or dword [0x94dbf4], 1
mov dword [ebp - 4], 6
jmp 0x62c560
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dword [ebx + 8], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62c589
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c583
or dword [0x94dbf4], 1
mov dword [ebp - 4], 7
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [eax + 4], ecx
mov ebx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c5c9
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 8
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp ebx, dword [0x94dbf8]
je 0x62c630
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c611
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0xa
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62c62b
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62c62b
push esi
call fcn.007984d6
add esp, 4
mov esi, ebx
mov dword [ebp + 0x10], esi
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c670
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0xb
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
lea ebx, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62c690
push dword [ebp + 0xc]
push ebx
push 9
push str.undefined
push 0
push 0
call dword [0x82819c]
mov dword [ebp - 4], 0xc
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c6d8
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0xd
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov byte [ebp - 4], 0xc
cmp esi, dword [0x94dbf8]
jne 0x62c6e4
xor eax, eax
jmp 0x62c6e7
mov eax, dword [esi + 8]
lea eax, [ebx + eax*2]
mov dword [ebp + 0xc], eax
cmp ebx, eax
jae 0x62c70b
mov ecx, dword [ebp - 0x10]
movzx eax, word [ebx]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62c77f
cmp ebx, dword [ebp + 0xc]
jb 0x62c6f1
mov bl, 1
mov dword [ebp - 4], 0xe
test esi, esi
je 0x62c76a
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c74f
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
add esp, 4
xchg dword [eax], edi
mov dword [eax + 8], 0
xor ecx, ecx
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62c76a
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x62c76a
push esi
call fcn.007984d6
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor bl, bl
jmp 0x62c70d
cmp esi, 3
jne 0x62c790
cmp ebx, 0x20000
je 0x62c7b2
cmp esi, 4
jne 0x62c79d
cmp ebx, 0x20000
je 0x62c7b2
cmp esi, 5
jne 0x62c87b
cmp ebx, 0x20000
jne 0x62c87b
mov edx, esi
lea ecx, [ebp + 0x10]
call fcn.00649650
mov dword [ebp - 4], 0xf
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
lea edi, [esi + 0xc]
mov ebx, dword [eax + 8]
test edi, edi
je 0x62c810
cmp word [edi], 0
mov eax, edi
je 0x62c7e9
nop dword [eax + eax]
add eax, 2
cmp word [eax], 0
jne 0x62c7e0
sub eax, edi
sar eax, 1
lea eax, [edi + eax*2]
mov dword [ebp + 0xc], eax
cmp edi, eax
jae 0x62c810
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x62c85e
cmp edi, dword [ebp + 0xc]
jb 0x62c7f7
mov bl, 1
mov dword [ebp - 4], 0x10
test esi, esi
je 0x62c76a
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62c862
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x62c867
xor bl, bl
jmp 0x62c812
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x62c76a
or ecx, 0xffffffff
lock xadd dword [esi], ecx
jmp 0x62c75f
mov eax, ebx
shr eax, 0x10
and eax, 0xf
cmp eax, 2
jne 0x62d8e8
cmp byte [edi + 0x1c], 0
je 0x62d261
mov eax, dword [edi + 8]
mov edi, 1
mov dword [ebp - 0x10], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62c8eb
or eax, edi
mov dword [0x94dbf4], eax
push 0x10
mov dword [ebp - 4], 0x11
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x62c8f1
mov esi, dword [0x94dbf8]
push 0
push 0
push 1
push 0x886520
push 0
push 3
mov dword [ebp + 0x10], esi
call dword [0x82819c]
or edx, 0xffffffff
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x62c9c2
test esi, esi
je 0x62c977
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c95e
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x12
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
or edx, 0xffffffff
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62c977
mov eax, edx
lock xadd dword [esi], eax
jne 0x62c977
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62c9b7
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x13
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62cbe5
cmp eax, dword [esi + 4]
ja 0x62c9de
cmp dword [esi], 1
mov esi, dword [ebp + 0x10]
jg 0x62c9de
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x62cbe8
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62ca28
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x14
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp esi, dword [0x94dbf8]
jne 0x62caa4
test eax, eax
je 0x62ca85
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62ca6c
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cb3b
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x15
jmp 0x62cb18
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62cb41
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cb3b
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x16
jmp 0x62cb18
test eax, eax
je 0x62caff
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x18], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62cae6
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cb3b
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x17
jmp 0x62cb18
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dword [ebx + 8], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62cb41
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cb3b
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x18
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [eax + 4], ecx
mov ebx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cb81
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x19
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp ebx, dword [0x94dbf8]
je 0x62cbe8
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cbc9
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x1b
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62cbe3
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62cbe3
push esi
call fcn.007984d6
add esp, 4
mov esi, ebx
mov dword [ebp + 0x10], esi
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cc28
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x1c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
lea ebx, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62cc48
push dword [ebp - 0x14]
push ebx
push 1
push 0x886520
push 0
push 0
call dword [0x82819c]
mov dword [ebp - 4], 0x1d
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cc90
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x1e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov byte [ebp - 4], 0x1d
cmp esi, dword [0x94dbf8]
jne 0x62cc9c
xor eax, eax
jmp 0x62cc9f
mov eax, dword [esi + 8]
lea eax, [ebx + eax*2]
mov dword [ebp - 0x18], eax
cmp ebx, eax
jae 0x62ccce
nop dword [eax]
mov ecx, dword [ebp - 0x10]
movzx eax, word [ebx]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62cf40
cmp ebx, dword [ebp - 0x18]
jb 0x62ccb0
mov bl, 1
mov dword [ebp - 4], 0x1f
test esi, esi
je 0x62cd2e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cd14
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62cd2e
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62cd2e
push esi
call fcn.007984d6
add esp, 4
mov dword [ebp - 4], 0xffffffff
test bl, bl
je 0x62ea3f
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0xc]
call fcn.00649650
mov dword [ebp - 4], 0x20
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
lea ebx, [esi + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x18], ecx
test ebx, ebx
je 0x62cda5
cmp word [ebx], 0
mov eax, ebx
je 0x62cd79
nop word [eax + eax]
add eax, 2
cmp word [eax], 0
jne 0x62cd70
sub eax, ebx
sar eax, 1
lea eax, [ebx + eax*2]
mov dword [ebp + 0x10], eax
cmp ebx, eax
jae 0x62cda5
mov edx, dword [ecx]
movzx eax, word [ebx]
push eax
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62cf47
mov ecx, dword [ebp - 0x18]
cmp ebx, dword [ebp + 0x10]
jb 0x62cd87
xor bl, bl
mov dword [ebp - 4], 0x21
test esi, esi
je 0x62ce0d
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cdf3
or ecx, 1
push 0x10
mov dword [0x94dbf4], ecx
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62ce13
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62ce0d
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov dword [ebp - 4], 0xffffffff
test bl, bl
jne 0x62ea3f
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
test cl, 1
jne 0x62ce6e
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x22
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x94dbf8]
push 0
push 0
push 1
push 0x886520
push 0
push 3
mov dword [ebp + 0x10], esi
call dword [0x82819c]
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x62cf4e
test esi, esi
je 0x62cef5
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cedb
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x23
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62cef5
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62cef5
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cf35
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x24
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62d171
xor bl, bl
jmp 0x62ccd0
mov bl, 1
jmp 0x62cda7
cmp eax, dword [esi + 4]
ja 0x62cf6a
cmp dword [esi], 1
mov esi, dword [ebp + 0x10]
jg 0x62cf6a
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x62d174
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62cfb4
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x25
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
cmp esi, dword [0x94dbf8]
jne 0x62d030
test eax, eax
je 0x62d011
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62cff8
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d0c7
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x26
jmp 0x62d0a4
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62d0cd
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d0c7
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x27
jmp 0x62d0a4
test eax, eax
je 0x62d08b
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x18], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62d072
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d0c7
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x28
jmp 0x62d0a4
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dword [ebx + 8], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62d0cd
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d0c7
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x29
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [eax + 4], ecx
mov ebx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d10d
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x2a
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp ebx, dword [0x94dbf8]
je 0x62d174
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d155
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x2c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62d16f
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62d16f
push esi
call fcn.007984d6
add esp, 4
mov esi, ebx
mov dword [ebp + 0x10], esi
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d1b4
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x2d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
lea ebx, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62d1d4
push dword [ebp + 0xc]
push ebx
push 1
push 0x886520
push 0
push 0
call dword [0x82819c]
mov dword [ebp - 4], 0x2e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d21c
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x2f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov byte [ebp - 4], 0x2e
cmp esi, dword [0x94dbf8]
jne 0x62d228
xor eax, eax
jmp 0x62d22b
mov eax, dword [esi + 8]
lea eax, [ebx + eax*2]
mov dword [ebp + 0xc], eax
cmp ebx, eax
jae 0x62d24f
mov ecx, dword [ebp - 0x10]
movzx eax, word [ebx]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62d25d
cmp ebx, dword [ebp + 0xc]
jb 0x62d235
mov bl, 1
mov dword [ebp - 4], 0x30
jmp 0x62c714
xor bl, bl
jmp 0x62d251
cmp byte [ebp + 0x10], 0
jne 0x62d2c6
mov edx, esi
lea ecx, [ebp + 0x10]
call fcn.00649650
mov dword [ebp - 0x10], 9
mov esi, dword [ebp + 0x10]
lea edi, [esi + 0xc]
test edi, edi
je 0x62d2c0
movzx eax, word [edi]
mov ecx, eax
mov ebx, eax
mov dword [ebp + 0x10], ecx
test ax, ax
je 0x62d2c0
push eax
call fcn.007b5afa
add esp, 4
test eax, eax
jne 0x62d2bb
push ebx
call fcn.007b5b10
add esp, 4
test eax, eax
jne 0x62d2bb
cmp ebx, 0x5f
je 0x62d2bb
cmp ebx, 0x24
je 0x62d2bb
cmp bx, 0x40
jne 0x62d2c9
add edi, 2
jne 0x62d282
mov byte [ebp + 0x13], 0
jmp 0x62d2cd
mov esi, dword [ebp + 0x10]
mov byte [ebp + 0x13], 1
or ebx, 0xffffffff
mov edi, 1
test byte [ebp - 0x10], 1
je 0x62d33c
mov dword [ebp - 4], 0x31
test esi, esi
je 0x62d335
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62d31c
or dword [0x94dbf4], edi
push 0x10
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62d335
mov eax, ebx
lock xadd dword [esi], eax
jne 0x62d335
push esi
call fcn.007984d6
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x13], 0
je 0x62d827
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62d394
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x32
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x94dbf8]
push 0
push 0
push 1
push 0x888b5c
push 0
push 3
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x14], esi
call dword [0x82819c]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x62d478
test esi, esi
je 0x62d425
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d40c
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x33
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62d42b
mov eax, ebx
lock xadd dword [esi], eax
jne 0x62d425
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d46d
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x34
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62d6c8
cmp eax, dword [esi + 4]
ja 0x62d49d
cmp dword [esi], 1
mov esi, dword [ebp - 0x14]
mov dword [ebp + 0x10], esi
jg 0x62d49d
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62d6ce
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d4ef
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x35
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp - 0x10]
cmp esi, dword [0x94dbf8]
jne 0x62d56f
test eax, eax
je 0x62d554
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62d535
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d614
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x36
jmp 0x62d5e7
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov word [ebx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62d61a
test cl, 1
jne 0x62d614
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x37
jmp 0x62d5e7
test eax, eax
je 0x62d5d2
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x18], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62d5b3
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62d614
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x38
jmp 0x62d5e7
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dword [ebx + 8], eax
mov word [ebx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62d61a
test cl, 1
jne 0x62d614
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x39
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov ebx, dword [0x94dbf8]
test cl, 1
jne 0x62d65c
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x3a
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp ebx, dword [0x94dbf8]
je 0x62d6ce
test cl, 1
jne 0x62d6a6
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x3c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62d6c6
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62d6c0
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, ebx
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x10], esi
test cl, 1
jne 0x62d710
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x3d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
lea ebx, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62d736
push dword [ebp - 0x10]
push ebx
push 1
push 0x888b5c
push 0
push 0
call dword [0x82819c]
mov ecx, dword [0x94dbf4]
mov dword [ebp - 4], 0x3e
test cl, 1
jne 0x62d780
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x3e
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
jne 0x62d78c
xor eax, eax
jmp 0x62d78f
mov eax, dword [esi + 8]
lea eax, [ebx + eax*2]
mov dword [ebp - 0x18], eax
cmp ebx, eax
jae 0x62d7c6
mov esi, dword [ebp - 0x1c]
mov edi, eax
nop
mov edx, dword [esi]
mov ecx, esi
movzx eax, word [ebx]
push eax
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62d7b8
cmp ebx, edi
jb 0x62d7a0
mov ecx, dword [0x94dbf4]
mov edi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 4], 0x40
test esi, esi
je 0x62d820
test cl, 1
jne 0x62d806
or ecx, 1
push 0x10
mov dword [0x94dbf4], ecx
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62d820
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62d820
push esi
call fcn.007984d6
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0xc]
call fcn.00649650
mov dword [ebp - 4], 0x41
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
lea ebx, [esi + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c], ecx
test ebx, ebx
je 0x62d88a
cmp word [ebx], 0
mov eax, ebx
je 0x62d85d
add eax, 2
cmp word [eax], 0
jne 0x62d854
sub eax, ebx
sar eax, 1
lea eax, [ebx + eax*2]
mov dword [ebp + 0x10], eax
cmp ebx, eax
jae 0x62d88a
nop dword [eax + eax]
mov edx, dword [ecx]
movzx eax, word [ebx]
push eax
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62d8d8
mov ecx, dword [ebp - 0x1c]
cmp ebx, dword [ebp + 0x10]
jb 0x62d870
mov bl, 1
mov dword [ebp - 4], 0x42
test esi, esi
je 0x62c76a
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62d8dc
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
xchg dword [eax], edi
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
cmp esi, eax
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x62c755
xor bl, bl
jmp 0x62d88c
mov eax, dword [0x94dbf8]
cmp esi, eax
jmp 0x62c755
push ebx
push esi
call fcn.005df4a4
add esp, 8
push ebx
push esi
test al, al
je 0x62d912
mov ecx, edi
call fcn.006267f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.005df677
add esp, 8
test al, al
je 0x62d998
lea ecx, [ebp + 8]
push ecx
lea ecx, [edi + 0x10]
call fcn.0062f850
test eax, eax
jns 0x62eacc
mov eax, dword [edi + 0x10]
lea ecx, [edi + 0x10]
test eax, eax
je 0x62d941
mov eax, dword [eax + 4]
jmp 0x62d943
xor eax, eax
mov dword [ebp + 0x10], eax
xor edx, edx
add eax, 1
cmovs eax, edx
push eax
call fcn.004cc1e4
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax + ecx*8 + 0x10], esi
mov dword [eax + ecx*8 + 0x14], ebx
mov ecx, edi
call fcn.00628c00
lea ecx, [edi + 0x10]
mov bl, al
mov eax, dword [ecx]
test eax, eax
je 0x62c76a
mov eax, dword [eax + 4]
test eax, eax
jle 0x62c76a
xor edx, edx
add eax, 0xffffffff
cmovs eax, edx
push eax
call fcn.004cc1e4
jmp 0x62c76a
push ebx
push esi
call fcn.005df63c
add esp, 8
test al, al
je 0x62da20
lea ecx, [ebp + 8]
push ecx
lea ecx, [edi + 0x10]
call fcn.0062f850
test eax, eax
jns 0x62eadd
mov eax, dword [edi + 0x10]
lea ecx, [edi + 0x10]
test eax, eax
je 0x62d9c9
mov eax, dword [eax + 4]
jmp 0x62d9cb
xor eax, eax
mov dword [ebp + 0x10], eax
xor edx, edx
add eax, 1
cmovs eax, edx
push eax
call fcn.004cc1e4
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax + ecx*8 + 0x10], esi
mov dword [eax + ecx*8 + 0x14], ebx
mov ecx, edi
call fcn.006294f0
lea ecx, [edi + 0x10]
mov bl, al
mov eax, dword [ecx]
test eax, eax
je 0x62c76a
mov eax, dword [eax + 4]
test eax, eax
jle 0x62c76a
xor edx, edx
add eax, 0xffffffff
cmovs eax, edx
push eax
call fcn.004cc1e4
jmp 0x62c76a
mov al, byte [edi + 0x1c]
mov ecx, dword [edi + 4]
push ebx
push esi
mov dword [ebp - 0x1c], ecx
mov byte [ebp + 0x13], al
call fcn.006d7e10
add esp, 8
test al, al
je 0x62e879
cmp byte [ebp + 0x13], 0
mov eax, dword [edi + 8]
mov edi, 1
mov dword [ebp - 0x18], eax
mov eax, dword [0x94dbf4]
je 0x62e360
test al, 1
jne 0x62da9d
or eax, edi
mov dword [0x94dbf4], eax
push 0x10
mov dword [ebp - 4], 0x43
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x62daa3
mov esi, dword [0x94dbf8]
push 0
push 0
push 1
push 0x886520
push 0
push 3
mov dword [ebp - 0x10], esi
call dword [0x82819c]
or edx, 0xffffffff
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x62db74
test esi, esi
je 0x62db29
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62db10
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x44
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
or edx, 0xffffffff
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62db29
mov eax, edx
lock xadd dword [esi], eax
jne 0x62db29
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62db69
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x45
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62dda6
cmp eax, dword [esi + 4]
ja 0x62db93
cmp dword [esi], 1
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 0xc]
jg 0x62db93
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x62dda9
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dbdd
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x46
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp esi, dword [0x94dbf8]
jne 0x62dc5c
test eax, eax
je 0x62dc3d
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x62dc24
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dcf6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x47
jmp 0x62dcd3
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
jmp 0x62dcfe
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dcf6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x48
jmp 0x62dcd3
test eax, eax
je 0x62dcba
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x1c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x62dca1
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dcf6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x49
jmp 0x62dcd3
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
jmp 0x62dcfe
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dcf6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x4a
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [eax + 4], ecx
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x10], eax
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dd3e
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x4b
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x94dbf8]
je 0x62dda9
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dd89
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x4d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62dda3
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62dda3
push esi
call fcn.007984d6
add esp, 4
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10], esi
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dde9
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x4e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0x10], eax
cmp esi, dword [0x94dbf8]
je 0x62de0c
push dword [ebp - 0x14]
push eax
push 1
push 0x886520
push 0
push 0
call dword [0x82819c]
mov dword [ebp - 4], 0x4f
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62de54
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x50
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov byte [ebp - 4], 0x4f
cmp esi, dword [0x94dbf8]
jne 0x62de60
xor eax, eax
jmp 0x62de63
mov eax, dword [esi + 8]
lea ecx, [esi + 0xc]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x1c], eax
cmp ecx, eax
jae 0x62de94
movzx eax, word [ecx]
mov ecx, dword [ebp - 0x18]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
test al, al
je 0x62df72
cmp ecx, dword [ebp - 0x1c]
jb 0x62de70
mov byte [ebp + 0x13], 1
mov dword [ebp - 4], 0x51
test esi, esi
je 0x62def6
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dedc
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62def6
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62def6
push esi
call fcn.007984d6
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x13], 0
je 0x62ea3f
push ebx
mov ebx, dword [ebp - 0x20]
push dword [ebp + 8]
mov edx, dword [ebx + 8]
call fcn.006da080
add esp, 8
test al, al
je 0x62ea3f
mov eax, dword [ebx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x62df7b
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov dword [ebp - 4], 0x52
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x62df81
mov byte [ebp + 0x13], 0
jmp 0x62de98
mov esi, dword [0x94dbf8]
push 0
push 0
push 1
push 0x886520
push 0
push 3
mov dword [ebp + 0x10], esi
call dword [0x82819c]
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x62e04d
test esi, esi
je 0x62e002
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62dfe8
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x53
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62e002
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62e002
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e042
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x54
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62e270
cmp eax, dword [esi + 4]
ja 0x62e069
cmp dword [esi], 1
mov esi, dword [ebp + 0x10]
jg 0x62e069
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x62e273
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e0b3
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x55
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
cmp esi, dword [0x94dbf8]
jne 0x62e12f
test eax, eax
je 0x62e110
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62e0f7
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e1c6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x56
jmp 0x62e1a3
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62e1cc
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e1c6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x57
jmp 0x62e1a3
test eax, eax
je 0x62e18a
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x1c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x62e171
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e1c6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x58
jmp 0x62e1a3
mov eax, edi
xchg dword [ebx], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [ebx + 4], ecx
xor ecx, ecx
mov dword [ebx + 8], eax
mov word [ebx + eax*2 + 0xc], cx
jmp 0x62e1cc
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e1c6
or dword [0x94dbf4], 1
mov dword [ebp - 4], 0x59
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov dword [eax + 4], ecx
mov ebx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e20c
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x5a
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp ebx, dword [0x94dbf8]
je 0x62e273
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e254
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x5c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62e26e
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62e26e
push esi
call fcn.007984d6
add esp, 4
mov esi, ebx
mov dword [ebp + 0x10], esi
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e2b3
or dword [0x94dbf4], 1
push 0x10
mov dword [ebp - 4], 0x5d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
lea ebx, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62e2d3
push dword [ebp + 0xc]
push ebx
push 1
push 0x886520
push 0
push 0
call dword [0x82819c]
mov dword [ebp - 4], 0x5e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e31b
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x5f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
mov byte [ebp - 4], 0x5e
cmp esi, dword [0x94dbf8]
jne 0x62e327
xor eax, eax
jmp 0x62e32a
mov eax, dword [esi + 8]
lea eax, [ebx + eax*2]
mov dword [ebp + 0xc], eax
cmp ebx, eax
jae 0x62e34e
mov ecx, dword [ebp - 0x18]
movzx eax, word [ebx]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62e35c
cmp ebx, dword [ebp + 0xc]
jb 0x62e334
mov bl, 1
mov dword [ebp - 4], 0x60
jmp 0x62c714
xor bl, bl
jmp 0x62e350
test al, 1
jne 0x62e3a6
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov dword [ebp - 4], 0x61
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x62e3ac
mov esi, dword [0x94dbf8]
push 0
push 0
push 0xa
push str.new_Date__
push 0
push 3
mov dword [ebp - 0x10], esi
call dword [0x82819c]
or edx, 0xffffffff
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x62e48d
test esi, esi
je 0x62e43a
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e421
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x62
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
or edx, 0xffffffff
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62e440
mov eax, edx
lock xadd dword [esi], eax
jne 0x62e43a
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e482
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x63
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x62e6e9
cmp eax, dword [esi + 4]
ja 0x62e4b2
cmp dword [esi], 1
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 0xc]
jg 0x62e4b2
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62e6ec
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e504
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x64
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp - 0x14]
cmp esi, dword [0x94dbf8]
jne 0x62e587
test eax, eax
je 0x62e56c
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x62e54d
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e62f
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x65
jmp 0x62e602
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62e637
test cl, 1
jne 0x62e62f
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x66
jmp 0x62e602
test eax, eax
je 0x62e5ed
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x1c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x62e5ce
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x62e62f
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x67
jmp 0x62e602
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x62e637
test cl, 1
jne 0x62e62f
or ecx, 1
mov dword [0x94dbf4], ecx
mov dword [ebp - 4], 0x68
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x10], eax
test cl, 1
jne 0x62e679
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x69
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x94dbf8]
je 0x62e6ec
test cl, 1
jne 0x62e6c6
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x6b
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62e6e6
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x62e6e0
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10], esi
test cl, 1
jne 0x62e72e
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov dword [ebp - 4], 0x6c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
lea eax, [esi + 0xc]
cmp esi, dword [0x94dbf8]
je 0x62e754
push dword [ebp - 0x14]
push eax
push 0xa
push str.new_Date__
push 0
push 0
call dword [0x82819c]
mov ecx, dword [0x94dbf4]
mov dword [ebp - 4], 0x6d
test cl, 1
jne 0x62e79e
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x6e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x6d
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
jne 0x62e7aa
xor edx, edx
jmp 0x62e7ad
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
lea edx, [eax + edx*2]
mov dword [ebp + 0x10], edx
cmp eax, edx
jae 0x62e7e7
lea ebx, [esi + 0xc]
mov edi, edx
nop
mov ecx, dword [ebp - 0x18]
movzx eax, word [ebx]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
add ebx, 2
test al, al
je 0x62e7d9
cmp ebx, edi
jb 0x62e7c0
mov ecx, dword [0x94dbf4]
mov edi, 1
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], 0x6f
test esi, esi
je 0x62e840
test cl, 1
jne 0x62e825
or ecx, 1
push 0x10
mov dword [0x94dbf4], ecx
call fcn.00403650
add esp, 4
xchg dword [eax], edi
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x62e840
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x62e840
push esi
call fcn.007984d6
add esp, 4
mov dword [ebp - 4], 0xffffffff
push ebx
mov ebx, dword [ebp - 0x20]
push dword [ebp + 8]
mov edx, dword [ebx + 8]
call fcn.006da080
mov ecx, dword [ebx + 8]
add esp, 8
push 0x8a4d90
call fcn.005df1a7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebp + 0x13], 0
jne 0x62eaee
push ebx
push esi
call fcn.005df2e7
add esp, 8
test al, al
je 0x62e8b2
mov edx, dword [edi + 8]
push ecx
push ebx
push esi
call fcn.006416b0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ebx
push esi
call fcn.00603248
add esp, 8
push ebx
push esi
test al, al
je 0x62e8f2
lea ecx, [ebp - 0x120]
call fcn.00647530
mov ecx, dword [edi + 8]
lea eax, [ebp - 0x120]
add esp, 8
push eax
call fcn.005df1a7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.00631230
add esp, 8
push ebx
push esi
test al, al
je 0x62e948
call fcn.0063fc60
movsd qword [esp], xmm0
lea eax, [ebp + 0x10]
push str._.4frad
push eax
call fcn.00443152
add esp, 0x10
mov dword [ebp - 4], 0x70
mov eax, dword [eax]
mov ecx, dword [edi + 8]
add eax, 0xc
push eax
call fcn.005df205
mov bl, al
mov dword [ebp - 4], 0x71
xor dl, dl
mov ecx, dword [ebp + 0x10]
call fcn.0042d1d2
jmp 0x62c76a
call fcn.005df2ff
add esp, 8
push ebx
push esi
test al, al
je 0x62e99e
call fcn.0063eee0
movsd qword [esp], xmm0
lea eax, [ebp - 0x20]
push 0x8a4de0
push eax
call fcn.00443152
add esp, 0x10
mov dword [ebp - 4], 0x72
mov eax, dword [eax]
mov ecx, dword [edi + 8]
add eax, 0xc
push eax
call fcn.005df205
mov bl, al
mov dword [ebp - 4], 0x73
xor dl, dl
mov ecx, dword [ebp - 0x20]
call fcn.0042d1d2
jmp 0x62c76a
call fcn.005df6ce
mov ecx, dword [edi + 8]
add esp, 8
test al, al
je 0x62ea31
push 0x8a4ddc
call fcn.005df1a7
push 0
push dword [esi + 0xc]
mov ecx, edi
push dword [esi + 8]
call fcn.0062c240
mov ecx, dword [edi + 8]
push 0x8a4d78
call fcn.005df1a7
mov ebx, dword [esi + 0x10]
xor edi, edi
test ebx, ebx
jle 0x62ea0e
add esi, 0x18
test edi, edi
je 0x62e9f7
mov eax, dword [ebp - 0x20]
push 0x83faa8
mov ecx, dword [eax + 8]
call fcn.005df1a7
mov ecx, dword [ebp - 0x20]
push 1
push dword [esi + 4]
push dword [esi]
call fcn.0062c240
inc edi
add esi, 8
cmp edi, ebx
jl 0x62e9e3
mov eax, dword [ebp - 0x20]
push 0x8a4dd8
mov ecx, dword [eax + 8]
call fcn.005df1a7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.null
call fcn.005df1a7
test al, al
jne 0x62ea54
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [edi + 0x1c], 0
jne 0x62ea85
push ebx
push esi
call fcn.00631390
push eax
push str.__object_of_class__S__
push dword [edi + 8]
call fcn.006317a0
add esp, 0x14
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ebx
push esi
mov ecx, edi
call fcn.006267b0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.JSON:_incompatible_value
push 0x20000
push 2
push 6
push dword [edi + 4]
call fcn.0069c760
push str.JSON:_recursive_refrence
push ebx
push esi
push 6
push dword [edi + 4]
call fcn.0069c760
push str.JSON:_recursive_refrence
push ebx
push esi
push 6
push dword [edi + 4]
call fcn.0069c760
push str.JSON:_incompatible_value
push ebx
push esi
push 6
push dword [ebp - 0x1c]
call fcn.0069c760
int3