Function at 0x64c350
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x87e50e
mov eax, dword fs:[0]
push eax
sub esp, 0x198
mov eax, dword [0x8ce6f4]
xor eax, esp
mov dword [esp + 0x194], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x1ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c4]
xor ebx, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x1b4], ebx
cmp eax, ebx
jne 0x64c3f6
mov eax, dword [esp + 0x1c0]
add eax, 0xfffffff0
mov dword [esp + 0x1b4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64c3ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x650215
mov dword [esp + 0x68], ebx
mov dword [esp + 0x78], ebx
xor edx, edx
mov ecx, dword [esp + 0x1c0]
mov eax, dword [ecx - 0xc]
cmp edx, ebx
jl 0x6501ec
cmp edx, eax
jge 0x6501ec
lea ecx, [ecx + edx*2]
push 0x5c
push ecx
call fcn.0080308d
mov ecx, dword [esp + 0x1c8]
add esp, 8
cmp eax, ebx
je 0x6501ec
sub eax, ecx
sar eax, 1
mov esi, eax
js 0x6501ec
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x6501c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edx, [eax + 0x10]
mov dword [esp + 0x14], edx
inc esi
mov byte [esp + 0x1b4], 1
mov dword [esp + 0x60], esi
js 0x6501d3
mov eax, dword [esp + 0x1c0]
cmp esi, dword [eax - 0xc]
jg 0x6501d3
movzx edi, word [eax + esi*2]
cmp di, bx
je 0x64c527
jmp 0x64c4a4
mov edx, dword [esp + 0x14]
cmp di, 0x28
je 0x64c527
cmp di, 0x5c
je 0x64c527
mov ebx, dword [edx - 0xc]
lea esi, [ebx + 1]
test esi, esi
js 0x6501d3
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x64c4dd
push esi
lea ecx, [esp + 0x18]
call fcn.004a8a90
mov edx, dword [esp + 0x14]
mov word [edx + ebx*2], di
mov eax, dword [esp + 0x14]
cmp esi, dword [eax - 8]
jg 0x6501d3
mov dword [eax - 0xc], esi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
xor ecx, ecx
inc eax
mov word [edx + esi*2], cx
mov dword [esp + 0x60], eax
js 0x6501d3
mov ecx, dword [esp + 0x1c0]
cmp eax, dword [ecx - 0xc]
jg 0x6501d3
movzx edi, word [ecx + eax*2]
test di, di
jne 0x64c4a0
lea ecx, [esp + 0x14]
call fcn.004aa620
mov ecx, eax
call fcn.004aa3a0
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp dword [ecx - 0xc], edx
jne 0x64c576
add ecx, 0xfffffff0
mov byte [esp + 0x1b4], dl
lea eax, [ecx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x6501be
mov eax, dword [ecx]
mov edx, dword [eax]
push ecx
mov ecx, eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x60]
xor ebx, ebx
jmp 0x64c400
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x60]
mov byte [esp + 0x1b4], 2
cmp eax, edx
jl 0x6501d3
mov edx, dword [esp + 0x1c0]
cmp eax, dword [edx - 0xc]
jg 0x6501d3
cmp word [edx + eax*2], 0x28
jne 0x64cae0
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x6501c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edx, [eax + 0x10]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x60]
inc eax
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x40], 1
mov dword [esp + 0x60], eax
js 0x6501d3
mov ecx, dword [esp + 0x1c0]
cmp eax, dword [ecx - 0xc]
jg 0x6501d3
movzx edi, word [ecx + eax*2]
test di, di
je 0x64c6bb
mov ebp, eax
jmp 0x64c624
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x64c6bb
cmp di, 0x28
jne 0x64c639
inc eax
jmp 0x64c640
cmp di, 0x29
jne 0x64c644
dec eax
mov dword [esp + 0x40], eax
test eax, eax
je 0x64c6bb
mov ebx, dword [edx - 0xc]
lea esi, [ebx + 1]
test esi, esi
js 0x6501d3
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x64c675
push esi
lea ecx, [esp + 0x30]
call fcn.004a8a90
mov edx, dword [esp + 0x2c]
mov word [edx + ebx*2], di
mov eax, dword [esp + 0x2c]
cmp esi, dword [eax - 8]
jg 0x6501d3
mov dword [eax - 0xc], esi
mov edx, dword [esp + 0x2c]
xor ecx, ecx
inc ebp
mov word [edx + esi*2], cx
mov dword [esp + 0x60], ebp
js 0x6501d3
mov eax, dword [esp + 0x1c0]
cmp ebp, dword [eax - 0xc]
jg 0x6501d3
movzx edi, word [eax + ebp*2]
test di, di
jne 0x64c620
lea ecx, [esp + 0x2c]
call fcn.004aa620
mov ecx, eax
call fcn.004aa3a0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi - 0xc]
test eax, eax
je 0x64cab8
jg 0x64c6e1
or ebp, 0xffffffff
jmp 0x64c6ff
push 0x2c
push esi
call fcn.0080308d
mov esi, dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x64c6f9
or ebp, 0xffffffff
jmp 0x64c6ff
sub eax, esi
sar eax, 1
mov ebp, eax
cmp dword [esi - 0xc], 0
jg 0x64c70a
or eax, 0xffffffff
jmp 0x64c724
push 0x5c
push esi
call fcn.0080308d
add esp, 8
test eax, eax
jne 0x64c71e
or eax, 0xffffffff
jmp 0x64c724
sub eax, dword [esp + 0x2c]
sar eax, 1
test ebp, ebp
js 0x64ccf7
test eax, eax
js 0x64c738
cmp ebp, eax
jge 0x64ccf7
push ebp
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x34]
call fcn.004ac570
mov ecx, eax
mov byte [esp + 0x1b4], 4
call fcn.004aa620
mov ecx, eax
call fcn.004aa3a0
mov esi, dword [eax]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x64c788
cmp eax, dword [esi - 0x10]
jne 0x64c788
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x64c7c0
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x6501dd
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
add edi, 0x10
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x16c]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64c7f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi - 0xc], 0
je 0x64c8a9
mov esi, dword [esp + 0x34]
mov dword [esp + 0x48], esi
cmp esi, dword [esp + 0x38]
jb 0x64c81f
lea ecx, [esi + 1]
push ecx
lea ecx, [esp + 0x34]
call fcn.00673910
test al, al
je 0x6501e2
mov edx, dword [esp + 0x30]
lea ebx, [edx + esi*4]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x1b4], 7
test ebx, ebx
je 0x64c89d
mov esi, dword [esp + 0x40]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x64c860
cmp eax, dword [esi - 0x10]
jne 0x64c860
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x64c898
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x6501dd
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
inc dword [esp + 0x34]
mov byte [esp + 0x1b4], 6
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx - 0xc]
lea eax, [ebp + 1]
cmp eax, ecx
jge 0x64c8db
push eax
lea edx, [esp + 0x174]
push edx
lea ecx, [esp + 0x34]
call fcn.004aa4c0
or dword [esp + 0x50], 1
mov byte [esp + 0x1b4], 8
jmp 0x64c957
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x6501c9
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x64], eax
mov ecx, 0x402a88
mov dword [esp + 0x1b4], 9
test ecx, 0xffff0000
jne 0x64c933
mov edx, ecx
movzx esi, dx
push esi
call fcn.007cfe78
test eax, eax
je 0x64c943
push esi
push eax
lea ecx, [esp + 0x6c]
call fcn.004a8d10
jmp 0x64c943
push 0
push 0x402a88
lea ecx, [esp + 0x6c]
call fcn.004a8db0
or dword [esp + 0x50], 2
lea eax, [esp + 0x64]
mov dword [esp + 0x1b4], 0xa
mov eax, dword [eax]
mov ebx, dword [esp + 0x2c]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x64ca0c
cmp dword [ebx + 0xc], 0
lea ebp, [ebx + 0xc]
jl 0x64c9fe
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x64c9fe
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x64c9a3
cmp eax, dword [esi]
jne 0x64c9a3
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x64c9de
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x6501dd
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
or ecx, 0xffffffff
lock xadd dword [ebp], ecx
dec ecx
test ecx, ecx
jg 0x64c9f5
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add edi, 0x10
mov dword [esp + 0x2c], edi
jmp 0x64ca0c
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x34]
call fcn.004a8db0
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x1b4], 8
test bl, 2
je 0x64ca47
mov eax, dword [esp + 0x64]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x50], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64ca47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1b4], 6
test bl, 1
je 0x64ca81
mov eax, dword [esp + 0x170]
and ebx, 0xfffffffe
add eax, 0xfffffff0
mov dword [esp + 0x50], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64ca81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64caa9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esi - 0xc]
test eax, eax
jne 0x64c6da
add esi, 0xfffffff0
mov byte [esp + 0x1b4], 2
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64cadc
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x443044
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cb0a
sub eax, ecx
sar eax, 1
je 0x64e01a
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x44303c
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cb34
sub eax, ecx
sar eax, 1
je 0x64e01a
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x443034
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cb5e
sub eax, ecx
sar eax, 1
je 0x64e01a
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x44302c
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cb88
sub eax, ecx
sar eax, 1
je 0x64e01a
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x443024
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cbb2
sub eax, ecx
sar eax, 1
je 0x64dee3
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x44301c
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cbdc
sub eax, ecx
sar eax, 1
je 0x64dee3
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x443014
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cc06
sub eax, ecx
sar eax, 1
je 0x64dee3
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x44300c
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cc30
sub eax, ecx
sar eax, 1
je 0x64dee3
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x443000
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64ce29
sub eax, ecx
sar eax, 1
jne 0x64ce29
push 5
lea eax, [esp + 0x194]
push eax
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push 0x442ff8
push 0x442ff8
mov ecx, eax
mov byte [esp + 0x1bc], 0x12
call fcn.004f7060
mov ecx, eax
call fcn.00535c60
push eax
lea ecx, [esp + 0x34]
call fcn.004f5e50
push 5
lea ecx, [esp + 0x18c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x13
call fcn.004aa540
mov eax, dword [esp + 0x188]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x64cceb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x190]
jmp 0x64e264
lea ecx, [esp + 0x2c]
call fcn.004aa620
mov ecx, eax
call fcn.004aa3a0
mov esi, dword [esp + 0x2c]
cmp dword [esi - 0xc], 0
je 0x64cdc6
mov edi, dword [esp + 0x34]
mov dword [esp + 0x48], edi
cmp edi, dword [esp + 0x38]
jb 0x64cd3c
lea ecx, [edi + 1]
push ecx
lea ecx, [esp + 0x34]
call fcn.00673910
test al, al
je 0x6501e2
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
lea ebx, [edx + edi*4]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x1b4], 0xb
test ebx, ebx
je 0x64cdba
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x64cd79
cmp eax, dword [esi - 0x10]
jne 0x64cd79
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x64cdb1
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x6501dd
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
mov esi, dword [esp + 0x2c]
inc dword [esp + 0x34]
mov byte [esp + 0x1b4], 3
cmp dword [esi - 0xc], 0
mov edi, dword [esi - 0x10]
lea eax, [esi - 0x10]
je 0x64caad
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
jge 0x64cdfe
cmp dword [esi - 8], 0
jl 0x6501d3
mov dword [esi - 0xc], 0
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov word [edx], cx
jmp 0x64caa9
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64ce14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x2c], esi
jmp 0x64caad
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x442ff0
push ecx
call fcn.0080292f
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x64cebe
sub eax, ecx
sar eax, 1
jne 0x64cebe
push 2
lea ecx, [esp + 0x158]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x14
call fcn.004f5e50
push 2
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x15
call fcn.004aa540
lea ecx, [esp + 0x84]
call fcn.004a8c20
lea ecx, [esp + 0x154]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
cmp dword [ecx - 0xc], 0
jl 0x64cf51
push 0x4186ac
push ecx
call fcn.0080292f
add esp, 8
test eax, eax
je 0x64cf51
sub eax, dword [esp + 0x14]
sar eax, 1
jne 0x64cf51
push 1
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x16
call fcn.004f5e50
push 1
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x17
call fcn.004aa540
lea ecx, [esp + 0x8c]
call fcn.004a8c20
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fe4
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64cfd4
push 4
lea edx, [esp + 0x198]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x18
call fcn.004f5e50
push 4
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x19
call fcn.004aa540
lea ecx, [esp + 0x94]
call fcn.004a8c20
lea ecx, [esp + 0x194]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fd8
call fcn.004a9d80
test eax, eax
jne 0x64d053
push 4
lea ecx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x1a
call fcn.004f5e50
push 4
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x1b
call fcn.004aa540
lea ecx, [esp + 0x9c]
call fcn.004a8c20
lea ecx, [esp + 0x11c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fd0
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d0d6
push 2
lea eax, [esp + 0x160]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x1c
call fcn.004f5e50
push 2
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x1d
call fcn.004aa540
lea ecx, [esp + 0xa4]
call fcn.004a8c20
lea ecx, [esp + 0x15c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442db4
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d155
push 1
lea edx, [esp + 0x128]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x1e
call fcn.004f5e50
push 1
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x1f
call fcn.004aa540
lea ecx, [esp + 0xac]
call fcn.004a8c20
lea ecx, [esp + 0x124]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x425574
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x442e04
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
jne 0x64d1fc
push 1
lea ecx, [esp + 0x180]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push 0x442ff8
mov ecx, eax
mov byte [esp + 0x1b8], 0x20
call fcn.005363f0
push eax
lea ecx, [esp + 0x34]
call fcn.004f5e50
push 1
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x21
call fcn.004aa540
lea ecx, [esp + 0xb4]
call fcn.004a8c20
lea ecx, [esp + 0x17c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fc4
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x442fbc
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d297
push 2
lea eax, [esp + 0x130]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x22
call fcn.004f5e50
push 2
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x23
call fcn.004aa540
lea ecx, [esp + 0xbc]
call fcn.004a8c20
lea ecx, [esp + 0x12c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fb4
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d316
push 2
lea edx, [esp + 0x168]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x24
call fcn.004f5e50
push 2
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x25
call fcn.004aa540
lea ecx, [esp + 0xc4]
call fcn.004a8c20
lea ecx, [esp + 0x164]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442fac
call fcn.004a9d80
test eax, eax
je 0x64de74
push 0
push 0x442fa4
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64de74
push 0
push 0x442f9c
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64de74
push 0
push 0x442f94
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64de05
push 0
push 0x442f8c
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64de05
push 0
push 0x442f84
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
jne 0x64d40d
push 2
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x2a
call fcn.004f5e50
push 2
lea edx, [esp + 0xd0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x2b
call fcn.004aa540
lea ecx, [esp + 0xcc]
call fcn.004a8c20
lea ecx, [esp + 0x134]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f78
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dd96
push 0
push 0x442f6c
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dd96
push 0
push 0x442f64
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d4c0
push 3
lea eax, [esp + 0x190]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x2e
call fcn.004f5e50
push 3
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x2f
call fcn.004aa540
lea ecx, [esp + 0xd4]
call fcn.004a8c20
lea ecx, [esp + 0x18c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f5c
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d53f
push 3
lea edx, [esp + 0x140]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x30
call fcn.004f5e50
push 3
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x31
call fcn.004aa540
lea ecx, [esp + 0xdc]
call fcn.004a8c20
lea ecx, [esp + 0x13c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f54
call fcn.004a9d80
test eax, eax
jne 0x64d5bb
push 2
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x32
call fcn.004f5e50
push 2
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x33
call fcn.004aa540
lea ecx, [esp + 0xe4]
call fcn.004a8c20
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f48
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x41c824
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d656
push 1
lea eax, [esp + 0x148]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x34
call fcn.004f5e50
push 1
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x35
call fcn.004aa540
lea ecx, [esp + 0xec]
call fcn.004a8c20
lea ecx, [esp + 0x144]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f40
call fcn.004a9d80
test eax, eax
je 0x64dd27
push 0
push 0x442f38
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dd27
push 0
push 0x442f30
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dd27
push 0
push 0x442cf0
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dcb8
push 0
push 0x427a68
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64dcb8
push 0
push 0x442f24
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x442f1c
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x442f14
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d77d
push 3
lea edx, [esp + 0x188]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x3a
call fcn.004f5e50
push 3
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x3b
call fcn.004aa540
lea ecx, [esp + 0xf4]
call fcn.004a8c20
lea ecx, [esp + 0x184]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f0c
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x41c820
lea ecx, [esp + 0x1c]
call fcn.004a9d80
test eax, eax
jne 0x64d814
push 1
lea ecx, [esp + 0x150]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x3c
call fcn.004f5e50
push 1
lea edx, [esp + 0x100]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x3d
call fcn.004aa540
lea ecx, [esp + 0xfc]
call fcn.004a8c20
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442f08
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d897
push 1
lea eax, [esp + 0x178]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x3e
call fcn.004f5e50
push 1
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x3f
call fcn.004aa540
lea ecx, [esp + 0x104]
call fcn.004a8c20
lea ecx, [esp + 0x174]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x43fb50
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64d916
push 1
lea edx, [esp + 0x84]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x40
call fcn.004f5e50
push 1
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x41
call fcn.004aa540
lea ecx, [esp + 0x10c]
call fcn.004a8c20
lea ecx, [esp + 0x80]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442efc
call fcn.004a9d80
test eax, eax
jne 0x64d995
push 4
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x42
call fcn.004f5e50
push 4
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x43
call fcn.004aa540
lea ecx, [esp + 0x88]
call fcn.004a8c20
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442d94
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64da18
push 1
lea eax, [esp + 0xa4]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x44
call fcn.004f5e50
push 1
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x45
call fcn.004aa540
lea ecx, [esp + 0x98]
call fcn.004a8c20
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442cec
call fcn.004a9d80
test eax, eax
je 0x64e288
push 0
push 0x442d98
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64daaf
push 1
lea edx, [esp + 0xb4]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x46
call fcn.004f5e50
push 1
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x47
call fcn.004aa540
lea ecx, [esp + 0xa8]
call fcn.004a8c20
lea ecx, [esp + 0xb0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442ef0
call fcn.004a9d80
test eax, eax
jne 0x64db2e
push 5
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x48
call fcn.004f5e50
push 5
lea edx, [esp + 0xbc]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x49
call fcn.004aa540
lea ecx, [esp + 0xb8]
call fcn.004a8c20
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442ee4
lea ecx, [esp + 0x1c]
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64dbb1
push 5
lea eax, [esp + 0xd4]
push eax
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x4a
call fcn.004f5e50
push 5
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x4b
call fcn.004aa540
lea ecx, [esp + 0xc8]
call fcn.004a8c20
lea ecx, [esp + 0xd0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442ed8
call fcn.004a9d80
lea ecx, [esp + 0x14]
test eax, eax
jne 0x64dc30
push 5
lea edx, [esp + 0xe4]
push edx
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x4c
call fcn.004f5e50
push 5
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x4d
call fcn.004aa540
lea ecx, [esp + 0xd8]
call fcn.004a8c20
lea ecx, [esp + 0xe0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 0
push 0x442ecc
call fcn.004a9d80
test eax, eax
jne 0x64dcaf
push 5
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x4e
call fcn.004f5e50
push 5
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x4f
call fcn.004aa540
lea ecx, [esp + 0xe8]
call fcn.004a8c20
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
inc dword [esp + 0x78]
jmp 0x64e288
push 1
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x38
call fcn.004f5e50
push 1
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x39
call fcn.004aa540
lea ecx, [esp + 0xf8]
call fcn.004a8c20
lea ecx, [esp + 0x100]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 2
lea edx, [esp + 0x114]
push edx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x36
call fcn.004f5e50
push 2
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x37
call fcn.004aa540
lea ecx, [esp + 0x108]
call fcn.004a8c20
lea ecx, [esp + 0x110]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 4
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x2c
call fcn.004f5e50
push 4
lea edx, [esp + 0x11c]
push edx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x2d
call fcn.004aa540
lea ecx, [esp + 0x118]
call fcn.004a8c20
lea ecx, [esp + 0x120]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 3
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x28
call fcn.004f5e50
push 3
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x29
call fcn.004aa540
lea ecx, [esp + 0x128]
call fcn.004a8c20
lea ecx, [esp + 0x130]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 3
lea edx, [esp + 0x144]
push edx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b8], 0x26
call fcn.004f5e50
push 3
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x1c]
call fcn.004ac570
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b8], 0x27
call fcn.004aa540
lea ecx, [esp + 0x138]
call fcn.004a8c20
lea ecx, [esp + 0x140]
mov byte [esp + 0x1b4], 2
call fcn.004a8c20
jmp 0x64e288
push 2
lea ecx, [esp + 0x154]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
push 0x442ff8
push 0x442ff8
mov ecx, eax
mov byte [esp + 0x1bc], 0xf
call fcn.004f7060
mov ecx, eax
call fcn.00535c60
mov esi, dword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x48], esi
cmp esi, dword [esp + 0x38]
jb 0x64df3b
lea edx, [esi + 1]
push edx
lea ecx, [esp + 0x34]
call fcn.00673910
test al, al
je 0x6501e2
mov eax, dword [esp + 0x30]
lea esi, [eax + esi*4]
mov dword [esp + 0x24], esi
mov byte [esp + 0x1b4], 0x10
test esi, esi
je 0x64df65
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.004a9b50
add esp, 4
add eax, 0x10
mov dword [esi], eax
inc dword [esp + 0x34]
push 2
lea ecx, [esp + 0x14c]
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1bc], 0xf
call fcn.004ac570
mov ecx, dword [eax]
mov esi, dword [esp + 0x14]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
mov byte [esp + 0x1b4], 0x11
cmp eax, esi
je 0x64dfe3
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x64dfd5
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x64dfd5
push eax
call fcn.004a9b50
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x64dfcc
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x14], ebx
jmp 0x64dfe3
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.004a8db0
mov eax, dword [esp + 0x148]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64e00e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x150]
jmp 0x64e264
push 2
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004aa4c0
mov ebx, eax
mov edi, dword [ebx]
movzx eax, word [edi]
xor esi, esi
mov byte [esp + 0x1b4], 0xc
test ax, ax
je 0x64e0ad
movzx eax, ax
push eax
push 0x442ff8
call fcn.0080308d
add esp, 8
test eax, eax
je 0x64e060
test esi, esi
jne 0x64e062
mov esi, edi
jmp 0x64e062
xor esi, esi
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x64e043
test esi, esi
je 0x64e0ad
mov eax, dword [ebx]
sub esi, eax
sar esi, 1
js 0x6501d3
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, esi
or eax, ecx
jge 0x64e097
push esi
mov ecx, ebx
call fcn.004a8a90
mov eax, dword [ebx]
cmp esi, dword [eax - 8]
jg 0x6501d3
mov dword [eax - 0xc], esi
mov edx, dword [ebx]
xor eax, eax
mov word [edx + esi*2], ax
push 0x442ff8
mov ecx, ebx
call fcn.00535c60
mov esi, dword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x48], esi
cmp esi, dword [esp + 0x38]
jb 0x64e0de
lea ecx, [esi + 1]
push ecx
lea ecx, [esp + 0x34]
call fcn.00673910
test al, al
je 0x6501e2
mov edx, dword [esp + 0x30]
lea ebx, [edx + esi*4]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x1b4], 0xd
test ebx, ebx
je 0x64e15a
mov esi, dword [edi]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x64e11d
cmp eax, dword [esi - 0x10]
jne 0x64e11d
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x64e155
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x6501dd
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
add edi, 0x10
mov dword [ebx], edi
inc dword [esp + 0x34]
push 2
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1bc], 0xc
call fcn.004ac570
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
mov byte [esp + 0x1b4], 0xe
cmp esi, edi
je 0x64e232
cmp dword [edi + 0xc], 0
lea ebp, [edi + 0xc]
jl 0x64e224
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x64e224
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x64e1c9
cmp eax, dword [esi]
jne 0x64e1c9
mov ebx, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x64e204
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x6501dd
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.0080217f
add esp, 0x10
or ecx, 0xffffffff
lock xadd dword [ebp], ecx
dec ecx
test ecx, ecx
jg 0x64e21b
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add ebx, 0x10
mov dword [esp + 0x14], ebx
jmp 0x64e232
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.004a8db0
mov eax, dword [esp + 0x158]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64e25d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x160]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64e288
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, 1
add dword [esp + 0x68], ebp
cmp dword [esp + 0x34], 0
jbe 0x64e2c6
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
sub eax, 0x10
push eax
call fcn.004a9b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x50]
lea eax, [esp + 0x70]
mov byte [esp + 0x1b4], 0x50
or ebx, 4
jmp 0x64e2e9
push 0x402a88
lea ecx, [esp + 0x16c]
call fcn.004a8f10
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x1b4], 0x51
or ebx, 8
mov eax, dword [eax]
sub eax, 0x10
push eax
mov dword [esp + 0x54], ebx
call fcn.004a9b50
lea edi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0x1b4], 0x53
test bl, 8
je 0x64e33c
mov eax, dword [esp + 0x168]
and ebx, 0xfffffff7
add eax, 0xfffffff0
mov dword [esp + 0x50], ebx
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x64e33c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1b4], 0x54
test bl, 4
je 0x64e370
mov eax, dword [esp + 0x70]
and ebx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x50], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64e370
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push 0x442ec8
push ecx
call fcn.0059f080
mov esi, dword [esp + 0x1c]
add esp, 8
test al, al
jne 0x64ff9d
mov ecx, 0x44303c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x64e3bb
test dx, dx
je 0x64e3b7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x64e3bb
add eax, 4
add ecx, 4
test dx, dx
jne 0x64e395
xor eax, eax
jmp 0x64e3c0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x64ff9d
mov ecx, 0x443034
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x64e3fa
test dx, dx
je 0x64e3f6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x64e3fa
add eax, 4
add ecx, 4
test dx, dx
jne 0x64e3d4
xor eax, eax
jmp 0x64e3ff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x64ff9d
mov ecx, 0x44302c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x64e439
test dx, dx
je 0x64e435
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x64e439
add eax, 4
add ecx, 4
test dx, dx
jne 0x64e413
xor eax, eax
jmp 0x64e43e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x64ff9d
lea edx, [esp + 0x14]
push 0x443024
push edx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fef2
lea eax, [esp + 0x14]
push 0x44301c
push eax
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fef2
lea ecx, [esp + 0x14]
push 0x443014
push ecx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fef2
lea edx, [esp + 0x14]
push 0x44300c
push edx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fef2
lea eax, [esp + 0x14]
push 0x443000
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64e56a
mov ebp, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c]
xor esi, esi
lea ebx, [ebx]
push 0x10
push 0
push edi
call fcn.00803f42
add esp, 0xc
and eax, 0xff
cmp dword [edi - 0xc], 0
je 0x64e54f
movzx ecx, byte [esi + ebx + 0x48]
mov dword [esp + 0x58], ecx
push ebp
sub esp, 0x10
fild dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
fstp qword [esp + 8]
fild dword [esp + 0x5c]
test eax, eax
jns 0x64e51f
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
or eax, 0xc00
mov dword [esp + 0x58], eax
fldcw word [esp + 0x58]
fistp dword [esp + 0x58]
mov al, byte [esp + 0x58]
fldcw word [esp + 0x40]
jmp 0x64e557
mov edx, dword [esp + 0x20]
mov al, byte [esi + edx + 0x48]
mov byte [esi + ebx + 0x48], al
inc esi
cmp esi, 4
jl 0x64e4e0
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442ff0
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64e5b2
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x60]
add esp, 0xc
cmp dword [ecx + 0x20], 0
jge 0x650125
lea edx, [eax - 1]
cmp edx, 8
jbe 0x64e5aa
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x20], eax
jmp 0x650125
lea ecx, [esp + 0x14]
push 0x4186ac
push ecx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e626
push 0xa
push 0
push edi
call fcn.00803f42
mov esi, dword [esp + 0x60]
add esp, 0xc
cmp dword [esi + 0x20], 0
jge 0x650125
lea ecx, [eax - 1]
cmp ecx, 0xa
ja 0x64e617
mov edx, eax
and dl, 8
movsx edx, dl
neg edx
sbb edx, edx
and al, 4
movsx eax, al
and edx, 3
neg eax
sbb eax, eax
and eax, 6
add edx, eax
and ecx, 3
lea ecx, [edx + ecx + 1]
mov dword [esi + 0x20], ecx
jmp 0x650125
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0x20], ecx
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442fe4
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e6aa
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fld qword [esi + 0x88]
push eax
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64e693
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64e686
fstp st(1)
fstp qword [esi + 0x88]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x88]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x88]
fstp qword [esi + 0x88]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442fd8
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e72e
push 0
push edi
call fcn.008073a9
fst qword [esp + 0x50]
mov ebx, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x18]
mov ebp, dword [esp + 0x20]
add esp, 8
push ebx
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebp
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64e70c
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64e708
fstp st(1)
jmp 0x64e715
fstp st(0)
jmp 0x64e715
mov eax, dword [esp + 0x20]
fstp st(0)
fld qword [eax + 0x18]
fstp qword [esi + 0x18]
push ebx
fld qword [esi + 0x20]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebp
fld qword [esp + 0x5c]
jmp 0x64f95b
lea edx, [esp + 0x14]
push 0x442fd0
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e7a3
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fild dword [esi + 0x80]
push eax
sub esp, 8
fstp qword [esp]
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
add esp, 4
fstp qword [esp]
call fcn.00646030
fadd qword [0x405058]
call fcn.00802da0
cmp dword [edi - 0xc], 0
jne 0x64e798
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x80]
mov dword [esi + 0x80], eax
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442db4
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e821
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
je 0x64e80e
test eax, eax
jne 0x64e7e1
mov edx, dword [esp + 0x1c]
mov eax, 0x190
mov dword [edx + 0x78], eax
jmp 0x650125
cmp eax, ebp
jne 0x64e7f6
mov edx, dword [esp + 0x1c]
mov eax, 0x2bc
mov dword [edx + 0x78], eax
jmp 0x650125
cmp eax, 0x64
jge 0x64e815
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x78]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x78], eax
jmp 0x650125
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x78]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x78], eax
jmp 0x650125
lea eax, [esp + 0x14]
push 0x425574
push eax
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fb74
lea ecx, [esp + 0x14]
push 0x442f48
push ecx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fb74
lea edx, [esp + 0x14]
push 0x442e04
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64e9e2
push 0x10
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
mov dword [esp + 0x58], eax
je 0x64e9cf
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [esp + 0x1cc]
mov edx, ebx
and edx, 0xff0000
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
push ebp
jns 0x64e8b1
fadd qword [0x409f88]
sub esp, 0x10
and eax, 0xff0000
fstp qword [esp + 8]
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
jns 0x64e8cd
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
movzx ecx, byte [esp + 0x58]
or eax, 0xc00
mov dword [esp + 0x24], eax
movzx eax, bl
fldcw word [esp + 0x24]
mov dword [esp + 0x24], eax
push ebp
sub esp, 0x10
fistp qword [esp + 0x5c]
mov esi, dword [esp + 0x5c]
and esi, 0xff0000
fldcw word [esp + 0x54]
fild dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2c]
fstp qword [esp + 8]
fild dword [esp + 0x38]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
or eax, 0xc00
mov dword [esp + 0x24], eax
push ebp
fldcw word [esp + 0x28]
fistp qword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
and edx, 0xff
or esi, edx
and ebx, 0xff00
fldcw word [esp + 0x44]
mov dword [esp + 0x4c], ebx
fild dword [esp + 0x4c]
jns 0x64e96e
fadd qword [0x409f88]
mov eax, dword [esp + 0x5c]
sub esp, 0x10
and eax, 0xff00
fstp qword [esp + 8]
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
jns 0x64e98e
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
mov edx, dword [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x24], eax
fldcw word [esp + 0x24]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
and eax, 0xff00
or esi, eax
mov dword [edx + 0x38], esi
fldcw word [esp + 0x40]
jmp 0x650125
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x38]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x38], esi
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442fc4
push eax
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fa60
lea ecx, [esp + 0x14]
push 0x442ec0
push ecx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fa60
lea edx, [esp + 0x14]
push 0x442f94
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ea86
cmp dword [edi - 0xc], 0
je 0x64ea6d
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c]
fld qword [ecx + 0xa8]
push eax
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0xa8]
jmp 0x650125
mov edx, dword [esp + 0x20]
fld qword [edx + 0xa8]
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0xa8]
jmp 0x650125
lea ecx, [esp + 0x14]
push 0x442f8c
push ecx
call fcn.004afd20
add esp, 8
test al, al
je 0x64eaf6
cmp dword [edi - 0xc], 0
je 0x64eadd
mov edx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1c]
fld qword [eax + 0xb0]
push edx
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov edx, dword [esp + 0x1c]
fstp qword [edx + 0xb0]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fld qword [ecx + 0xb0]
mov edx, dword [esp + 0x1c]
fstp qword [edx + 0xb0]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442fbc
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64eb32
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
jne 0x64eb26
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x4c]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x4c], eax
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442fb4
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64ebcf
cmp dword [edi - 0xc], 0
je 0x64eb92
lea ecx, [esp + 0x40]
push 0x30
push ecx
call fcn.00646de0
add esp, 8
test al, al
je 0x64eb92
lea eax, [edi - 0x10]
push eax
call fcn.004a9b50
add eax, 0x10
add esp, 4
mov dword [esp + 0x6c], eax
or ebx, 0x10
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1b4], 0x57
mov dword [esp + 0x50], ebx
call fcn.004b3540
jmp 0x64eb99
mov eax, dword [esp + 0x20]
add eax, 0x50
mov ecx, dword [esp + 0x1c]
add ecx, 0x50
push eax
call fcn.004aa540
mov dword [esp + 0x1b4], 0x54
test bl, 0x10
je 0x650125
and ebx, 0xffffffef
lea ecx, [esp + 0x6c]
mov dword [esp + 0x50], ebx
call fcn.004a8c20
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442fac
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ec3f
cmp dword [edi - 0xc], 0
je 0x64ec26
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c]
fld qword [ecx + 0x98]
push eax
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0x98]
jmp 0x650125
mov edx, dword [esp + 0x20]
fld qword [edx + 0x98]
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0x98]
jmp 0x650125
lea ecx, [esp + 0x14]
push 0x442fa4
push ecx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ecaf
cmp dword [edi - 0xc], 0
je 0x64ec96
mov edx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1c]
fld qword [eax + 0xa0]
push edx
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov edx, dword [esp + 0x1c]
fstp qword [edx + 0xa0]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fld qword [ecx + 0xa0]
mov edx, dword [esp + 0x1c]
fstp qword [edx + 0xa0]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f9c
push eax
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fa06
lea ecx, [esp + 0x14]
push 0x442f84
push ecx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64fa06
lea edx, [esp + 0x14]
push 0x442f78
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ed65
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fld qword [esi + 0x60]
push eax
sub esp, 8
fstp qword [esp]
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
add esp, 4
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64ed54
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64ed4a
fstp st(1)
fstp qword [esi + 0x60]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x60]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x60]
fstp qword [esi + 0x60]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442f6c
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ede7
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fld qword [esi + 0x68]
push eax
sub esp, 8
fstp qword [esp]
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
add esp, 4
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64edd6
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64edcc
fstp st(1)
fstp qword [esi + 0x68]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x68]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x68]
fstp qword [esi + 0x68]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442f64
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ee16
mov ecx, dword [esp + 0x20]
fld qword [ecx + 0x60]
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0x60]
fld qword [ecx + 0x68]
fstp qword [eax + 0x68]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f5c
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64ee7a
cmp dword [edi - 0xc], 0
je 0x64ee67
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1c]
fld qword [edx + 0x70]
push ecx
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov ecx, dword [esp + 0x1c]
fstp qword [ecx + 0x70]
jmp 0x650125
mov eax, dword [esp + 0x20]
fld qword [eax + 0x70]
mov ecx, dword [esp + 0x1c]
fstp qword [ecx + 0x70]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442f54
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64ef7d
mov edx, dword [edi - 0xc]
test edx, edx
je 0x64ef6a
js 0x6501d3
movzx eax, word [edi]
cmp eax, 0x2d
je 0x64ef0c
test edx, edx
js 0x6501d3
cmp eax, 0x2b
je 0x64ef0c
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fld qword [esi + 0x58]
push eax
sub esp, 8
fstp qword [esp]
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
add esp, 4
fstp qword [esp]
call fcn.00646030
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x64ef04
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x58]
fstp qword [esi + 0x58]
jmp 0x650125
mov edx, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1c]
fld qword [esi + 0x58]
push edx
sub esp, 8
fstp qword [esp]
push 0xa
push 0
push edi
call fcn.00803f42
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
add esp, 4
fmul qword [esi + 0x58]
fdiv qword [0x40da60]
fadd qword [esi + 0x58]
fstp qword [esp]
call fcn.00646030
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x64ef62
mov eax, dword [esp + 0x20]
fstp st(0)
fld qword [eax + 0x58]
fstp qword [esi + 0x58]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fld qword [ecx + 0x58]
mov edx, dword [esp + 0x1c]
fstp qword [edx + 0x58]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x41c824
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64eff0
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
je 0x64efdc
test eax, eax
jne 0x64efb6
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7c], al
jmp 0x650125
cmp eax, ebp
jne 0x64efc8
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov byte [ecx + 0x7c], al
jmp 0x650125
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x7c]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7c], al
jmp 0x650125
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 0x7c]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7c], al
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442f40
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f04a
cmp dword [edi - 0xc], 0
je 0x64f033
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
add esp, 0xc
add eax, eax
mov dword [ecx + 0x12c], eax
mov dword [ecx + 0x130], eax
jmp 0x650125
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [ecx + 0x12c], eax
mov dword [ecx + 0x130], eax
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f38
push eax
call fcn.004afd20
add esp, 8
test al, al
jne 0x64f9f7
lea ecx, [esp + 0x14]
push 0x427a68
push ecx
call fcn.004afd20
add esp, 8
test al, al
jne 0x64f9f7
lea edx, [esp + 0x14]
push 0x442f30
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f0d1
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x130]
mov dword [esi + 0x128], 2
mov dword [esi + 0x12c], eax
cmp dword [edi - 0xc], 0
je 0x64f124
push 0xa
push 0
push edi
call fcn.00803f42
lea eax, [eax + eax*4]
add eax, eax
add esp, 0xc
add dword [esi + 0x130], eax
jmp 0x650125
lea ecx, [esp + 0x14]
push 0x442cf0
push ecx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f134
mov esi, dword [esp + 0x18]
mov dword [esi + 0x128], 0
mov edx, dword [esi + 0x130]
mov dword [esi + 0x12c], edx
cmp dword [edi - 0xc], 0
je 0x64f124
push 0xa
push 0
push edi
call fcn.00803f42
lea eax, [eax + eax*4]
add eax, eax
add esp, 0xc
add dword [esi + 0x130], eax
jmp 0x650125
mov eax, 0x3e8
add dword [esi + 0x130], eax
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f24
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f284
mov eax, dword [esp + 0x34]
cmp eax, 4
je 0x64f160
cmp eax, 6
jne 0x650125
mov ebx, dword [esp + 0x54]
cmp dword [ebx + 0x30], 0
jne 0x650125
push 0x38
call fcn.007c8529
mov esi, eax
add esp, 4
test esi, esi
je 0x650125
push 0
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x90]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
push 1
lea ecx, [esp + 0x34]
mov dword [esi + 4], eax
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x98]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
push 2
lea ecx, [esp + 0x34]
mov dword [esi + 8], eax
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x90]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
push 3
lea ecx, [esp + 0x34]
mov dword [esi + 0xc], eax
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x98]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
lea ebp, [esi + 0x28]
mov dword [esi + 0x10], eax
mov dword [esi + 0x2c], 0xffffffff
mov dword [ebp], 0xffffffff
cmp dword [esp + 0x34], 6
jne 0x64f278
xor ebx, ebx
lea esp, [esp]
lea ecx, [ebx + 4]
push ecx
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00803f42
mov dword [ebp], eax
inc ebx
add esp, 0xc
add ebp, 4
cmp ebx, 2
jl 0x64f250
mov edx, dword [esp + 0x54]
mov dword [edx + 0x30], esi
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f1c
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f347
cmp dword [esp + 0x34], 2
jne 0x650125
mov ebx, dword [esp + 0x54]
cmp dword [ebx + 0x34], 0
jne 0x650125
push 0x38
call fcn.007c8529
mov esi, eax
add esp, 4
test esi, esi
je 0x650125
push 0
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x90]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
push 1
lea ecx, [esp + 0x34]
mov dword [esi + 4], eax
call fcn.004ed3f0
mov eax, dword [eax]
push 0
push eax
call fcn.008073a9
fmul qword [ebx + 0x98]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
mov dword [esi + 8], eax
cmp dword [ebx + 0x2c], 1
jne 0x64f33f
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x100]
add dword [esi + 4], ecx
mov edx, dword [eax + 0x104]
add dword [esi + 8], edx
mov dword [ebx + 0x34], esi
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f14
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f379
push 0xa
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [ecx + 0x138], eax
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442f0c
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f42a
cmp dword [esp + 0x34], 2
jne 0x650125
mov ebx, dword [esp + 0x54]
xor ebp, ebp
cmp dword [ebx + 0x30], ebp
jne 0x650125
push 0x38
call fcn.007c8529
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x650125
push ebp
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push ebp
push eax
call fcn.008073a9
fmul qword [ebx + 0x90]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
push 1
lea ecx, [esp + 0x34]
mov dword [esi + 0xc], eax
mov dword [esi + 4], eax
call fcn.004ed3f0
mov eax, dword [eax]
push ebp
push eax
call fcn.008073a9
fmul qword [ebx + 0x98]
add esp, 8
fmul qword [0x43a3f0]
call fcn.00802da0
mov dword [esi + 0x10], eax
mov dword [esi + 8], eax
mov dword [esi + 0x2c], ebp
mov dword [esi + 0x28], ebp
mov dword [ebx + 0x30], esi
jmp 0x650125
lea eax, [esp + 0x14]
push 0x41c820
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f466
push 0xa
push 0
push edi
call fcn.00803f42
mov edx, dword [esp + 0x24]
xor ecx, ecx
add esp, 0xc
test eax, eax
setle cl
dec ecx
and ecx, eax
mov dword [edx + 0x134], ecx
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442f08
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f4a7
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
je 0x64f494
cmp eax, 3
jbe 0x64f49b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x48]
mov edx, dword [esp + 0x54]
mov dword [edx + 0x24], eax
jmp 0x650125
lea eax, [esp + 0x14]
push 0x43fb50
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f547
cmp dword [edi - 0xc], 0
je 0x64f50d
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x184]
call fcn.004a9df0
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x178]
push edx
or ebx, 0x20
push eax
add ecx, 0x58
mov byte [esp + 0x1bc], 0x58
mov dword [esp + 0x58], ebx
call fcn.00636200
test al, al
je 0x64f50d
mov eax, dword [esp + 0x178]
test eax, eax
jne 0x64f511
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.004f7250
mov dword [esp + 0x1b4], 0x54
test bl, 0x20
je 0x650125
and ebx, 0xffffffdf
lea ecx, [esp + 0x180]
mov dword [esp + 0x50], ebx
call fcn.004a8c20
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442efc
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f608
push 0
push edi
call fcn.008073a9
fst qword [esp + 0x50]
mov ebx, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x28]
mov ebp, dword [esp + 0x20]
add esp, 8
push ebx
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebp
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64f5ad
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64f5a9
fstp st(1)
jmp 0x64f5b6
fstp st(0)
jmp 0x64f5b6
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x28]
fstp qword [esi + 0x28]
push ebx
fld qword [esi + 0x30]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebp
fld qword [esp + 0x5c]
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64f5f7
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64f5ed
fstp st(1)
fstp qword [esi + 0x30]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x30]
jmp 0x650125
mov edx, dword [esp + 0x20]
fstp st(0)
fld qword [edx + 0x30]
fstp qword [esi + 0x30]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442d94
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f67b
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
je 0x64f667
test eax, eax
jne 0x64f641
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7e], al
jmp 0x650125
cmp eax, ebp
jne 0x64f653
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov byte [ecx + 0x7e], al
jmp 0x650125
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x7e]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7e], al
jmp 0x650125
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 0x7e]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7e], al
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442cec
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f7da
lea ecx, [esp + 0x40]
call fcn.004a8a20
fld1
mov esi, dword [esp + 0x18]
fstp qword [esi + 0x120]
mov eax, dword [esp + 0x34]
xor edi, edi
mov dword [esi + 0x11c], edi
mov dword [esi + 0x118], edi
cmp eax, ebp
jne 0x64f6c6
push edi
jmp 0x64f792
cmp eax, 2
jne 0x64f6e7
push edi
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push edi
push eax
call fcn.008073a9
add esp, 8
push ebp
jmp 0x64f78c
cmp eax, 3
jne 0x64f732
push edi
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push edi
push eax
call fcn.008073a9
add esp, 8
call fcn.00802da0
push ebp
lea ecx, [esp + 0x34]
mov dword [esi + 0x118], eax
call fcn.004ed3f0
mov eax, dword [eax]
push edi
push eax
call fcn.008073a9
add esp, 8
call fcn.00802da0
mov dword [esi + 0x11c], eax
push 2
jmp 0x64f792
cmp eax, 4
jne 0x64f7a5
push edi
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push edi
push eax
call fcn.00803f42
add esp, 0xc
push ebp
lea ecx, [esp + 0x34]
mov dword [esi + 0x118], eax
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push edi
push eax
call fcn.00803f42
add esp, 0xc
push 2
lea ecx, [esp + 0x34]
mov dword [esi + 0x11c], eax
call fcn.004ed3f0
mov eax, dword [eax]
push edi
push eax
call fcn.008073a9
add esp, 8
push 3
fstp qword [esi + 0x120]
lea ecx, [esp + 0x34]
call fcn.004ed3f0
push eax
lea ecx, [esp + 0x44]
call fcn.004aa540
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push ebp
push eax
push ecx
push ecx
lea edx, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.004a9df0
mov edi, dword [esp + 0x64]
push edi
mov ecx, esi
call fcn.0064c350
mov byte [edi + 0x28], 1
mov edi, dword [esp + 0x40]
jmp 0x650125
lea eax, [esp + 0x14]
push 0x442d98
push eax
call fcn.004afd20
add esp, 8
test al, al
je 0x64f84d
push 0xa
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
je 0x64f839
test eax, eax
jne 0x64f813
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7d], al
jmp 0x650125
cmp eax, ebp
jne 0x64f825
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov byte [ecx + 0x7d], al
jmp 0x650125
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x7d]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7d], al
jmp 0x650125
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 0x7d]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x7d], al
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442ef0
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f8c6
push 0
push edi
call fcn.008073a9
mov eax, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x18]
mov ecx, dword [esp + 0x20]
add esp, 8
push eax
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64f8b5
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64f8ab
fstp st(1)
fstp qword [esi + 0x18]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x18]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x18]
fstp qword [esi + 0x18]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442ee4
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f920
push 0
push edi
call fcn.008073a9
mov eax, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x28]
mov ecx, dword [esp + 0x20]
add esp, 8
push eax
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
jne 0x64f918
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x28]
fstp qword [esi + 0x28]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442ed8
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x64f999
push 0
push edi
call fcn.008073a9
mov eax, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x20]
mov ecx, dword [esp + 0x20]
add esp, 8
push eax
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
je 0x64f988
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x64f97e
fstp st(1)
fstp qword [esi + 0x20]
jmp 0x650125
fstp st(0)
fstp qword [esi + 0x20]
jmp 0x650125
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x20]
fstp qword [esi + 0x20]
jmp 0x650125
lea edx, [esp + 0x14]
push 0x442ecc
push edx
call fcn.004afd20
add esp, 8
test al, al
je 0x650125
push 0
push edi
call fcn.008073a9
mov eax, dword [esp + 0x1d4]
mov esi, dword [esp + 0x24]
fld qword [esi + 0x30]
mov ecx, dword [esp + 0x20]
add esp, 8
push eax
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00646030
cmp dword [edi - 0xc], 0
jne 0x64f9ef
mov ecx, dword [esp + 0x20]
fstp st(0)
fld qword [ecx + 0x30]
fstp qword [esi + 0x30]
jmp 0x650125
mov esi, dword [esp + 0x18]
mov dword [esi + 0x128], ebp
jmp 0x64f0f5
cmp dword [edi - 0xc], 0
je 0x64fa47
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c]
fld qword [ecx + 0x90]
push eax
sub esp, 8
fstp qword [esp]
push 0
push edi
call fcn.008073a9
fstp qword [esp]
mov ecx, dword [esp + 0x2c]
call fcn.00646030
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0x90]
jmp 0x650125
mov edx, dword [esp + 0x20]
fld qword [edx + 0x90]
mov eax, dword [esp + 0x1c]
fstp qword [eax + 0x90]
jmp 0x650125
mov eax, dword [esp + 0x34]
cmp eax, 7
jne 0x64faf3
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 0x38], 0
jne 0x650125
push 0x38
call fcn.007c8529
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x650125
xor esi, esi
lea ebx, [ebp + 4]
push esi
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00803f42
mov dword [ebx], eax
inc esi
add esp, 0xc
add ebx, 4
cmp esi, 3
jl 0x64fa94
xor esi, esi
lea ebx, [ebp + 0x28]
lea ecx, [ecx]
lea edx, [esi + 3]
push edx
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00803f42
mov dword [ebx], eax
inc esi
add esp, 0xc
add ebx, 4
cmp esi, 4
jl 0x64fac0
mov eax, dword [esp + 0x54]
mov dword [eax + 0x38], ebp
jmp 0x650125
cmp eax, 2
jne 0x650125
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 0x38], 0
jne 0x650125
push 0x38
call fcn.007c8529
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x650125
mov eax, 0xff
mov dword [ebp + 0xc], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], 0
mov esi, 1
lea ebx, [ebp + 0x2c]
lea edx, [esi - 1]
push edx
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00803f42
mov dword [ebx], eax
inc esi
add esp, 0xc
add ebx, 4
cmp esi, 3
jl 0x64fb38
or eax, 0xffffffff
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [eax + 0x38], ebp
jmp 0x650125
lea ecx, [esp + 0x14]
push 0x442f48
push ecx
call fcn.004afd20
mov ecx, dword [esp + 0x3c]
add esp, 8
mov byte [esp + 0x74], al
cmp ecx, ebp
jne 0x64fc3b
mov esi, dword [esp + 0x54]
cmp dword [esi + 0x5c], 0
jne 0x650125
push 0x1c8
call fcn.007c8529
mov ebx, eax
add esp, 4
mov dword [esp + 0x48], ebx
mov byte [esp + 0x1b4], 0x55
test ebx, ebx
je 0x64fd16
cmp dword [esi + 0x2c], 1
mov ecx, dword [esp + 0x18]
jne 0x64fbdf
mov edx, dword [ecx + 0x104]
mov eax, dword [ecx + 0x100]
jmp 0x64fbe3
xor eax, eax
xor edx, edx
fld qword [esi + 0x98]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [ecx + 0xfc]
mov ecx, dword [ecx + 0xf8]
push edx
sub esp, 0x10
fstp qword [esp + 8]
sar eax, 3
fld qword [esi + 0x90]
sar ecx, 3
fstp qword [esp]
push eax
push ecx
push 0
lea ecx, [esp + 0x58]
call fcn.004ed3f0
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.004a9df0
mov ecx, ebx
call fcn.0064b540
mov dword [esi + 0x5c], eax
jmp 0x650125
cmp ecx, 2
jne 0x64fd20
mov esi, dword [esp + 0x54]
cmp dword [esi + 0x5c], 0
jne 0x650125
push 0xa
push 0
push edi
call fcn.00803f42
mov ebx, eax
add esp, 0xc
cmp ebx, 1
jge 0x64fc6b
mov ebx, 1
push 0x1c8
call fcn.007c8529
mov ebp, eax
add esp, 4
mov dword [esp + 0x48], ebp
mov byte [esp + 0x1b4], 0x56
test ebp, ebp
je 0x64fd16
cmp dword [esi + 0x2c], 1
mov edx, dword [esp + 0x18]
jne 0x64fca6
mov ecx, dword [edx + 0x104]
mov eax, dword [edx + 0x100]
jmp 0x64fcaa
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x7c]
push eax
lea ecx, [ebx - 1]
mov eax, 1
shl eax, cl
sub esp, 0x10
mov ecx, dword [edx + 0xf8]
sar ecx, 3
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fld qword [esi + 0x98]
mov eax, dword [edx + 0xfc]
sar eax, 3
fdiv st(1)
fstp qword [esp + 8]
fdivr qword [esi + 0x90]
fstp qword [esp]
push eax
push ecx
push 1
lea ecx, [esp + 0x58]
call fcn.004ed3f0
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.004a9df0
mov ecx, ebp
call fcn.0064b540
mov dword [esi + 0x5c], eax
jmp 0x650125
xor eax, eax
mov dword [esi + 0x5c], eax
jmp 0x650125
cmp ecx, 4
jne 0x650125
mov esi, dword [esp + 0x54]
xor ecx, ecx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], ecx
push 3
lea ecx, [esp + 0x34]
mov byte [esi + 0x88], al
call fcn.004ed3f0
mov ebx, dword [eax]
push 2
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov ebp, dword [eax]
push 1
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
push 0
lea ecx, [esp + 0x34]
call fcn.004ed3f0
mov edx, dword [eax]
push 0xa
push 0
push ebx
mov dword [esp + 0x64], edx
call fcn.00803f42
add esp, 0xc
push eax
push 0xa
push 0
push ebp
call fcn.00803f42
add esp, 0xc
push eax
mov eax, dword [esp + 0x2c]
push 0xa
push 0
push eax
call fcn.00803f42
mov ecx, dword [esp + 0x6c]
add esp, 0xc
push eax
push 0xa
push 0
push ecx
call fcn.00803f42
add esp, 0xc
push eax
lea ecx, [esp + 0x1a8]
call fcn.004c3780
fild dword [esp + 0x198]
cmp dword [esi + 0x2c], 1
mov ebx, dword [esp + 0x18]
fmul qword [esi + 0x90]
fst qword [esp + 0x40]
fild dword [esp + 0x19c]
fmul qword [esi + 0x98]
fst qword [esp + 0x58]
fild dword [esp + 0x1a0]
fmul qword [esi + 0x90]
fst qword [esp + 0x48]
fild dword [esp + 0x1a4]
fmul qword [esi + 0x98]
jne 0x64fe57
fild dword [ebx + 0x100]
fld qword [0x40c568]
fmul st(1), st(0)
fimul dword [ebx + 0x104]
fld st(1)
faddp st(6)
fxch st(5)
fstp qword [esp + 0x40]
fld st(4)
faddp st(4)
fxch st(3)
fstp qword [esp + 0x58]
fxch st(2)
faddp st(1)
fstp qword [esp + 0x48]
faddp st(1)
jmp 0x64fe5d
fstp st(3)
fstp st(1)
fstp st(0)
mov ebp, dword [esp + 0x1cc]
fild dword [esi + 0x7c]
push ebp
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [esi + 0x70]
mov ecx, ebx
fstp qword [esp]
mov dword [esp + 0x38], edx
call fcn.00646030
call fcn.00802da0
fild dword [esi + 0x78]
push eax
push ebp
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebx
fld qword [esp + 0x60]
fstp qword [esp]
call fcn.00646030
call fcn.00802da0
fild dword [esi + 0x74]
push eax
push ebp
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebx
fld qword [esp + 0x74]
fstp qword [esp]
call fcn.00646030
call fcn.00802da0
mov esi, dword [esp + 0x2c]
fild dword [esi]
push eax
push ebp
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebx
fld qword [esp + 0x60]
fstp qword [esp]
call fcn.00646030
call fcn.00802da0
push eax
mov ecx, esi
call fcn.004c3780
jmp 0x650125
push 0x10
push 0
push edi
call fcn.00803f42
mov ecx, dword [esp + 0x20]
add esp, 0xc
and eax, 0xff
cmp dword [ecx - 0xc], 0
jl 0x6501d3
cmp dword [edi - 0xc], 0
movzx esi, word [ecx]
je 0x64ff88
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1c]
push ecx
movzx ecx, byte [esi + edx + 0x17]
mov dword [esp + 0x28], ecx
sub esp, 0x10
fild dword [esp + 0x38]
mov dword [esp + 0x5c], eax
fstp qword [esp + 8]
fild dword [esp + 0x5c]
test eax, eax
jns 0x64ff4d
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
mov ecx, dword [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x24], eax
fldcw word [esp + 0x24]
fistp dword [esp + 0x24]
mov al, byte [esp + 0x24]
mov byte [esi + ecx + 0x17], al
fldcw word [esp + 0x40]
jmp 0x650125
mov edx, dword [esp + 0x20]
mov al, byte [esi + edx + 0x17]
mov ecx, dword [esp + 0x1c]
mov byte [esi + ecx + 0x17], al
jmp 0x650125
cmp dword [esi - 0xc], 0
jl 0x6501d3
movzx esi, word [esi]
push 0x10
push 0
push edi
call fcn.00803f42
add esp, 0xc
cmp dword [edi - 0xc], 0
mov dword [esp + 0x58], eax
je 0x650110
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1cc]
lea esi, [esi*4 - 0x8c]
mov ebx, dword [esi + edx]
mov ecx, ebx
and ecx, 0xff0000
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
mov dword [esp + 0x48], esi
push ebp
jns 0x64fff7
fadd qword [0x409f88]
sub esp, 0x10
and eax, 0xff0000
fstp qword [esp + 8]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
jns 0x650013
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
mov ecx, dword [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x58]
fldcw word [esp + 0x24]
movzx edx, bl
fistp qword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x24], edx
push ebp
sub esp, 0x10
and esi, 0xff0000
fldcw word [esp + 0x54]
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fstp qword [esp + 8]
fild dword [esp + 0x38]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
or eax, 0xc00
mov dword [esp + 0x24], eax
push ebp
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov ecx, dword [esp + 0x28]
and ecx, 0xff
or esi, ecx
and ebx, 0xff00
fldcw word [esp + 0x44]
mov dword [esp + 0x28], ebx
fild dword [esp + 0x28]
jns 0x6500b4
fadd qword [0x409f88]
mov eax, dword [esp + 0x5c]
sub esp, 0x10
and eax, 0xff00
fstp qword [esp + 8]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
jns 0x6500d4
fadd qword [0x409f88]
mov ecx, dword [esp + 0x2c]
fstp qword [esp]
call fcn.00646030
fnstcw word [esp + 0x40]
movzx eax, word [esp + 0x40]
or eax, 0xc00
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
fldcw word [esp + 0x24]
fistp qword [esp + 0x24]
mov edx, dword [esp + 0x24]
and edx, 0xff00
or esi, edx
fldcw word [esp + 0x40]
jmp 0x65011e
mov ecx, dword [esp + 0x20]
lea eax, [esi*4 - 0x8c]
mov esi, dword [eax + ecx]
mov edx, dword [esp + 0x1c]
mov dword [eax + edx], esi
add edi, 0xfffffff0
mov byte [esp + 0x1b4], 2
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x650149
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov edi, dword [esp + 0x30]
mov byte [esp + 0x1b4], 1
test edi, edi
je 0x650196
mov eax, dword [esp + 0x34]
xor esi, esi
mov ebx, eax
test eax, eax
je 0x65018d
mov eax, dword [edi + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x650184
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jb 0x650165
mov edi, dword [esp + 0x30]
push edi
call fcn.00803053
add esp, 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x1b4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x6501be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x60]
xor ebx, ebx
jmp 0x64c400
push 0x80004005
call fcn.004a8210
push 0x80070057
call fcn.004a8210
call fcn.004a8580
push 0x8007000e
call fcn.004a8210
lea eax, [ecx - 0x10]
mov dword [esp + 0x1b4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x650213
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0x1ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x194]
xor ecx, esp
call fcn.0080262b
add esp, 0x1a4
ret 0x14