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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
cmp dword [0x82d1f0], 0
push ebx
push esi
push edi
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 8]
mov ebx, dword [esi + 0xc]
je 0x644518
cmp dword [0x82d1e0], 0
je 0x644520
or eax, 0xffffffff
jmp 0x645742
fld dword [0x64574c]
fsubr dword [ebp + 0x10]
fstp dword [ebp + 0x10]
fld dword [0x64574c]
fsubr dword [ebp + 0x14]
cmp dword [0x874160], 0
fstp dword [ebp + 0x14]
jne 0x644546
call fcn.00652a48
mov edx, dword [ebp + 0x20]
add edx, edx
or edx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebx + 0x2c]
lea eax, [ebx + 8]
mov ecx, dword [ebp - 0x18]
call fcn.00640c9c
mov eax, dword [0x82d3c4]
mov ecx, dword [0x94e698]
mov dword [ebp - 0xc], eax
mov eax, dword [0x94e7b4]
mov edx, dword [esi + 0x44]
inc ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x3c], eax
mov edx, dword [esi + 0x2c]
lea eax, [edi + 1]
add edx, edi
lea ebx, [esi + 0x48]
sub edx, ecx
mov ecx, dword [0x94e690]
sub ecx, eax
mov eax, dword [esi + 0x30]
and edx, ecx
mov ecx, dword [0x94e69c]
add eax, dword [ebp + 0xc]
inc ecx
sub eax, ecx
mov ecx, dword [0x94e694]
and edx, eax
mov eax, dword [ebp + 0xc]
inc eax
sub ecx, eax
and edx, ecx
test edx, 0x80000000
je 0x644dbe
mov edx, dword [0x82d3ac]
dec edx
je 0x644a1d
dec edx
jne 0x645740
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jge 0x645740
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ecx]
cmp eax, dword [0x86cfcc]
je 0x64465b
mov edx, dword [ebx + 0x5c]
cmp dword [0x82d1f0], 0
mov ecx, dword [edx]
mov dword [ebp - 0x40], ecx
je 0x64465b
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x86cfcc]
jne 0x644619
cmp dword [0x8fca94], 0
jne 0x644619
xor edx, edx
jmp 0x64465b
call fcn.00652ec8
mov dword [0x874184], 1
cmp dword [0x86cfcc], 0
jne 0x644637
cmp dword [ebp - 0x40], 0
jne 0x644646
cmp dword [0x86cfcc], 0
je 0x644650
cmp dword [ebp - 0x40], 0
jne 0x644650
mov dword [0x874180], 1
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dword [0x86cfcc], ecx
cmp dword [0x874180], 0
jne 0x64466d
cmp dword [0x874184], 0
je 0x64467b
push 1
push 0
push 0
call fcn.0063d310
add esp, 0xc
cmp dword [0x82d3a4], 1
je 0x6446b5
cmp dword [0x82d3b0], 4
jne 0x6446b5
mov eax, dword [0x82d3a4]
lea eax, [eax + eax*2]
lea ecx, [eax*4 + 0x6c39ec]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x82d3a8]
add ecx, 6
cmp edx, ecx
jg 0x644830
cmp dword [0x82d3a8], 0
je 0x644816
mov eax, dword [0x82d3a4]
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x6c3a04]
mov ecx, dword [0x82d3ac]
mov eax, dword [edx + ecx*4]
cmp eax, dword [0x8741b0]
je 0x644728
mov edx, dword [0x82d3a4]
mov eax, dword [0x82d3ac]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x6c3a04]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x82d1f0]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x164]
mov edx, dword [0x82d3a4]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x6c3a04]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
mov dword [0x8741b0], edx
cmp dword [0x82d3a4], 0
je 0x64473c
push 0x6c3a34
call fcn.0063ed84
pop ecx
mov ecx, dword [0x82d3a4]
mov edx, dword [0x82d3ac]
cmp dword [0x82d3b0], 4
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a1c]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x82d3a4]
push ecx
mov ecx, dword [0x82d3ac]
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x77be70]
mov eax, dword [edx + ecx*4 + 0xb151c]
push eax
jne 0x64478b
mov eax, dword [0x82d3a8]
mov ecx, 3
cdq
idiv ecx
jmp 0x6447eb
cmp dword [0x82d3b0], 2
jne 0x6447a2
mov eax, dword [0x82d3a8]
sar eax, 1
jns 0x6447eb
adc eax, 0
jmp 0x6447eb
cmp dword [0x82d3b0], 6
jne 0x6447b5
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x6447eb
cmp dword [0x82d3b0], 5
jne 0x6447c8
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x6447eb
cmp dword [0x82d3b0], 3
jne 0x6447d9
mov eax, dword [0x82d3a8]
dec eax
jmp 0x6447eb
cmp dword [0x82d3b0], 1
jne 0x6447e9
mov eax, dword [0x82d3a8]
jmp 0x6447eb
xor eax, eax
push eax
mov edx, dword [0x82d3b0]
push edx
mov ecx, dword [0x82d1f0]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14c]
cmp dword [0x82d3a4], 0
je 0x644816
push 0x94e85c
call fcn.0063ed84
pop ecx
xor edx, edx
mov dword [0x82d3a8], edx
mov ecx, dword [0x82d3ac]
mov eax, dword [ecx*4 + 0x82d38c]
mov dword [0x82d3c8], eax
xor edx, edx
lea eax, [ebx + 0x18]
mov dword [0x82d3a4], edx
mov dword [0x82d3b0], 4
mov ecx, dword [0x82d3c8]
add ebx, 0x60
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x88], ecx
mov edx, dword [ebp - 8]
mov dword [edx + 0x10], ecx
fld dword [ebp + 0x10]
fadd dword [eax]
mov edx, dword [ebp - 8]
fst dword [edx]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x50]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xa0]
fld dword [ebp + 0x10]
fadd dword [eax + 0x10]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x28]
mov edx, dword [ebp - 8]
fst dword [edx + 0x78]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0xc8]
fld dword [ebp + 0x14]
fadd dword [eax + 4]
mov edx, dword [ebp - 8]
fst dword [edx + 4]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x2c]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xcc]
fld dword [ebp + 0x14]
fadd dword [eax + 0x24]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x54]
mov edx, dword [ebp - 8]
fst dword [edx + 0x7c]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0xa4]
fild dword [0x94e7d4]
mov edx, dword [ebp - 8]
fadd dword [eax]
fmul dword [0x82d3bc]
fst dword [edx + 0x18]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x68]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xb8]
fild dword [0x94e7d4]
mov ecx, dword [ebp - 8]
fadd dword [eax + 0x10]
fmul dword [0x82d3bc]
fst dword [ecx + 0x40]
mov edx, dword [ebp - 8]
fst dword [edx + 0x90]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0xe0]
fild dword [0x94e7d8]
mov edx, dword [ebp - 8]
fadd dword [eax + 4]
fmul dword [0x82d3c0]
fst dword [edx + 0x1c]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x44]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xe4]
fild dword [0x94e7d8]
mov ecx, dword [ebp - 8]
fadd dword [eax + 0x24]
fmul dword [0x82d3c0]
fst dword [ecx + 0x6c]
mov edx, dword [ebp - 8]
fst dword [edx + 0x94]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0xbc]
mov edx, dword [ebp - 8]
fld dword [eax + 8]
fst dword [edx + 0x20]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x70]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xc0]
mov ecx, dword [ebp - 8]
fld dword [eax + 0x18]
fst dword [ecx + 0x48]
mov edx, dword [ebp - 8]
fst dword [edx + 0x98]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0xe8]
mov edx, dword [ebp - 8]
fld dword [eax + 0xc]
fst dword [edx + 0x24]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x4c]
mov edx, dword [ebp - 8]
fstp dword [edx + 0xec]
fld dword [eax + 0x2c]
mov eax, dword [ebp - 8]
fst dword [eax + 0x74]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x9c]
mov eax, dword [ebp - 8]
fstp dword [eax + 0xc4]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0xd0], ecx
mov eax, dword [ebp - 8]
mov dword [eax + 0xa8], ecx
mov eax, dword [ebp - 8]
mov dword [eax + 0x80], ecx
mov eax, dword [ebp - 8]
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 8]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 8]
mov dword [eax + 8], ecx
add dword [0x82d3c8], 0xf0
add dword [0x82d3a8], 6
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jl 0x6445e3
jmp 0x645740
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jge 0x645740
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ecx]
cmp eax, dword [0x86cfcc]
je 0x644aa6
mov edx, dword [ebx + 0x5c]
cmp dword [0x82d1f0], 0
mov ecx, dword [edx]
mov dword [ebp - 0x44], ecx
je 0x644aa6
mov eax, dword [ebp - 0x44]
cmp eax, dword [0x86cfcc]
jne 0x644a64
cmp dword [0x8fca94], 0
jne 0x644a64
xor edx, edx
jmp 0x644aa6
call fcn.00652ec8
mov dword [0x874184], 1
cmp dword [0x86cfcc], 0
jne 0x644a82
cmp dword [ebp - 0x44], 0
jne 0x644a91
cmp dword [0x86cfcc], 0
je 0x644a9b
cmp dword [ebp - 0x44], 0
jne 0x644a9b
mov dword [0x874180], 1
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dword [0x86cfcc], ecx
cmp dword [0x874180], 0
jne 0x644ab8
cmp dword [0x874184], 0
je 0x644ac6
push 1
push 0
push 0
call fcn.0063d310
add esp, 0xc
cmp dword [0x82d3a4], 1
je 0x644b00
cmp dword [0x82d3b0], 4
jne 0x644b00
mov eax, dword [0x82d3a4]
lea eax, [eax + eax*2]
lea ecx, [eax*4 + 0x6c39ec]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x82d3a8]
add ecx, 6
cmp edx, ecx
jg 0x644c7b
cmp dword [0x82d3a8], 0
je 0x644c61
mov eax, dword [0x82d3a4]
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x6c3a04]
mov ecx, dword [0x82d3ac]
mov eax, dword [edx + ecx*4]
cmp eax, dword [0x8741b0]
je 0x644b73
mov edx, dword [0x82d3a4]
mov eax, dword [0x82d3ac]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x6c3a04]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x82d1f0]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x164]
mov edx, dword [0x82d3a4]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x6c3a04]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
mov dword [0x8741b0], edx
cmp dword [0x82d3a4], 0
je 0x644b87
push 0x6c3a34
call fcn.0063ed84
pop ecx
mov ecx, dword [0x82d3a4]
mov edx, dword [0x82d3ac]
cmp dword [0x82d3b0], 4
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a1c]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x82d3a4]
push ecx
mov ecx, dword [0x82d3ac]
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x77be70]
mov eax, dword [edx + ecx*4 + 0xb151c]
push eax
jne 0x644bd6
mov eax, dword [0x82d3a8]
mov ecx, 3
cdq
idiv ecx
jmp 0x644c36
cmp dword [0x82d3b0], 2
jne 0x644bed
mov eax, dword [0x82d3a8]
sar eax, 1
jns 0x644c36
adc eax, 0
jmp 0x644c36
cmp dword [0x82d3b0], 6
jne 0x644c00
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x644c36
cmp dword [0x82d3b0], 5
jne 0x644c13
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x644c36
cmp dword [0x82d3b0], 3
jne 0x644c24
mov eax, dword [0x82d3a8]
dec eax
jmp 0x644c36
cmp dword [0x82d3b0], 1
jne 0x644c34
mov eax, dword [0x82d3a8]
jmp 0x644c36
xor eax, eax
push eax
mov edx, dword [0x82d3b0]
push edx
mov ecx, dword [0x82d1f0]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14c]
cmp dword [0x82d3a4], 0
je 0x644c61
push 0x94e85c
call fcn.0063ed84
pop ecx
xor edx, edx
mov dword [0x82d3a8], edx
mov ecx, dword [0x82d3ac]
mov eax, dword [ecx*4 + 0x82d38c]
mov dword [0x82d3c8], eax
xor edx, edx
lea eax, [ebx + 0x18]
mov dword [0x82d3a4], edx
mov dword [0x82d3b0], 4
mov ecx, dword [0x82d3c8]
add ebx, 0x60
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x64], ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x10], ecx
fld dword [eax]
fadd dword [ebp + 0x10]
mov edx, dword [ebp - 4]
fst dword [edx]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x38]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x70]
fld dword [eax + 0x10]
fadd dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x1c]
mov edx, dword [ebp - 4]
fst dword [edx + 0x54]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x8c]
fld dword [eax + 4]
fadd dword [ebp + 0x14]
mov edx, dword [ebp - 4]
fst dword [edx + 4]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x20]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x90]
fld dword [eax + 0x24]
fadd dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x3c]
mov edx, dword [ebp - 4]
fst dword [edx + 0x58]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x74]
mov edx, dword [ebp - 4]
fld dword [eax + 8]
fst dword [edx + 0x14]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x4c]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x84]
mov ecx, dword [ebp - 4]
fld dword [eax + 0x18]
fst dword [ecx + 0x30]
mov edx, dword [ebp - 4]
fst dword [edx + 0x68]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0xa0]
mov edx, dword [ebp - 4]
fld dword [eax + 0xc]
fst dword [edx + 0x18]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x34]
mov edx, dword [ebp - 4]
fstp dword [edx + 0xa4]
fld dword [eax + 0x2c]
mov eax, dword [ebp - 4]
fst dword [eax + 0x50]
mov ecx, dword [ebp - 4]
fst dword [ecx + 0x6c]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x88]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0x94], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x78], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 8], ecx
add dword [0x82d3c8], 0xa8
add dword [0x82d3a8], 6
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jl 0x644a2e
jmp 0x645740
lea eax, [edi + 1]
mov edx, dword [0x94e698]
add edi, dword [esi + 0x2c]
mov ecx, dword [0x94e690]
sub edx, eax
inc ecx
sub edi, ecx
mov eax, dword [ebp + 0xc]
inc eax
mov ecx, dword [0x94e69c]
sub ecx, eax
and edx, edi
and edx, ecx
mov eax, dword [esi + 0x30]
add eax, dword [ebp + 0xc]
mov ecx, dword [0x94e694]
inc ecx
sub eax, ecx
and edx, eax
test edx, 0x80000000
je 0x644e05
xor eax, eax
jmp 0x645742
mov edx, dword [0x94e6a0]
mov dword [ebp - 0x1c], edx
mov ecx, dword [0x94e6a4]
mov dword [ebp - 0x24], ecx
mov eax, dword [0x94e6a8]
mov dword [ebp - 0x20], eax
mov edx, dword [0x94e6ac]
mov dword [ebp - 0x28], edx
mov ecx, dword [0x82d3ac]
dec ecx
je 0x645328
dec ecx
jne 0x645740
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jge 0x645740
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ecx]
cmp eax, dword [0x86cfcc]
je 0x644eb8
mov edx, dword [ebx + 0x5c]
cmp dword [0x82d1f0], 0
mov esi, dword [edx]
je 0x644eb8
cmp esi, dword [0x86cfcc]
jne 0x644e7d
cmp dword [0x8fca94], 0
jne 0x644e7d
xor eax, eax
jmp 0x644eb8
call fcn.00652ec8
mov dword [0x874184], 1
cmp dword [0x86cfcc], 0
jne 0x644e99
test esi, esi
jne 0x644ea6
cmp dword [0x86cfcc], 0
je 0x644eb0
test esi, esi
jne 0x644eb0
mov dword [0x874180], 1
mov dword [0x86cfcc], esi
xor eax, eax
cmp dword [0x874180], 0
jne 0x644eca
cmp dword [0x874184], 0
je 0x644ed8
push 1
push 0
push 0
call fcn.0063d310
add esp, 0xc
mov eax, dword [0x82d3a4]
cmp eax, 1
je 0x644f0f
cmp dword [0x82d3b0], 4
jne 0x644f0f
lea edx, [eax + eax*2]
lea ecx, [edx*4 + 0x6c39ec]
mov edx, dword [0x82d3ac]
mov ecx, dword [ecx + edx*4]
mov edx, dword [0x82d3a8]
add edx, 6
cmp ecx, edx
jg 0x645084
cmp dword [0x82d3a8], 0
je 0x64506a
lea eax, [eax + eax*2]
lea ecx, [eax*4 + 0x6c3a04]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
cmp edx, dword [0x8741b0]
je 0x644f7d
mov ecx, dword [0x82d3a4]
mov edx, dword [0x82d3ac]
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a04]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x82d1f0]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x164]
mov ecx, dword [0x82d3a4]
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a04]
mov edx, dword [0x82d3ac]
mov ecx, dword [eax + edx*4]
mov dword [0x8741b0], ecx
cmp dword [0x82d3a4], 0
je 0x644f91
push 0x6c3a34
call fcn.0063ed84
pop ecx
mov eax, dword [0x82d3a4]
mov ecx, dword [0x82d3ac]
cmp dword [0x82d3b0], 4
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x6c3a1c]
mov eax, dword [edx + ecx*4]
mov edx, dword [0x82d3a4]
push eax
mov eax, dword [0x82d3ac]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x77be70]
mov edx, dword [ecx + eax*4 + 0xb151c]
push edx
jne 0x644fdf
mov eax, dword [0x82d3a8]
mov ecx, 3
cdq
idiv ecx
jmp 0x64503f
cmp dword [0x82d3b0], 2
jne 0x644ff6
mov eax, dword [0x82d3a8]
sar eax, 1
jns 0x64503f
adc eax, 0
jmp 0x64503f
cmp dword [0x82d3b0], 6
jne 0x645009
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x64503f
cmp dword [0x82d3b0], 5
jne 0x64501c
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x64503f
cmp dword [0x82d3b0], 3
jne 0x64502d
mov eax, dword [0x82d3a8]
dec eax
jmp 0x64503f
cmp dword [0x82d3b0], 1
jne 0x64503d
mov eax, dword [0x82d3a8]
jmp 0x64503f
xor eax, eax
push eax
mov edx, dword [0x82d3b0]
push edx
mov ecx, dword [0x82d1f0]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14c]
cmp dword [0x82d3a4], 0
je 0x64506a
push 0x94e85c
call fcn.0063ed84
pop ecx
xor edx, edx
mov dword [0x82d3a8], edx
mov ecx, dword [0x82d3ac]
mov eax, dword [ecx*4 + 0x82d38c]
mov dword [0x82d3c8], eax
xor edx, edx
lea eax, [ebx + 0x18]
mov dword [0x82d3a4], edx
mov dword [0x82d3b0], 4
mov ecx, dword [0x82d3c8]
mov dword [ebp - 8], ecx
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebp - 8]
fild dword [ecx + 0x20]
fdivr dword [0x645750]
fstp dword [ebp - 0x2c]
fild dword [ecx + 0x24]
fdivr dword [0x645750]
fstp dword [ebp - 0x30]
mov ecx, dword [0x82d3bc]
mov dword [ebp - 0x34], ecx
mov ecx, dword [0x82d3c0]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov dword [ecx + 0x88], esi
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x10], esi
fld dword [ebp + 0x10]
fadd dword [eax]
mov ecx, dword [ebp - 8]
fst dword [ecx]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x50]
fld dword [ebp + 0x10]
fadd dword [eax + 0x10]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x28]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x78]
fld dword [ebp + 0x14]
fadd dword [eax + 4]
mov ecx, dword [ebp - 8]
fst dword [ecx + 4]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x2c]
fld dword [ebp + 0x14]
fadd dword [eax + 0x24]
mov ecx, dword [ebp - 8]
fst dword [ecx + 0x54]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x7c]
fild dword [0x94e7d4]
mov ecx, dword [ebp - 8]
fadd dword [eax]
fmul dword [0x82d3bc]
fst dword [ecx + 0x18]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x68]
fild dword [0x94e7d4]
mov ecx, dword [ebp - 8]
fadd dword [eax + 0x10]
fmul dword [0x82d3bc]
fst dword [ecx + 0x40]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x90]
fild dword [0x94e7d8]
mov ecx, dword [ebp - 8]
fadd dword [eax + 4]
fmul dword [0x82d3c0]
fst dword [ecx + 0x1c]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x44]
fild dword [0x94e7d8]
mov ecx, dword [ebp - 8]
fadd dword [eax + 0x24]
fmul dword [0x82d3c0]
fst dword [ecx + 0x6c]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x94]
mov ecx, dword [ebp - 8]
fld dword [eax + 8]
fst dword [ecx + 0x20]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x70]
mov ecx, dword [ebp - 8]
fld dword [eax + 0x18]
fst dword [ecx + 0x48]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x98]
mov ecx, dword [ebp - 8]
fld dword [eax + 0xc]
fst dword [ecx + 0x24]
mov ecx, dword [ebp - 8]
fstp dword [ecx + 0x4c]
fld dword [eax + 0x2c]
mov eax, dword [ebp - 8]
xor ecx, ecx
fst dword [eax + 0x74]
mov eax, dword [ebp - 8]
fstp dword [eax + 0x9c]
fld dword [edx]
fcomp dword [ebp - 0x1c]
fnstsw ax
sahf
jae 0x64520c
fld dword [ebp - 0x1c]
fsub dword [edx]
fmul dword [ebp - 0x2c]
fadd dword [edx + 0x20]
fstp dword [edx + 0x20]
fld dword [ebp - 0x1c]
fsub dword [edx]
fmul dword [ebp - 0x34]
fadd dword [edx + 0x18]
fstp dword [edx + 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
jmp 0x645237
fld dword [edx]
fcomp dword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x645237
fld dword [edx]
fsub dword [ebp - 0x20]
fmul dword [ebp - 0x2c]
fsubr dword [edx + 0x20]
fstp dword [edx + 0x20]
fld dword [edx]
fsub dword [ebp - 0x20]
fmul dword [ebp - 0x34]
fsubr dword [edx + 0x18]
fstp dword [edx + 0x18]
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
fld dword [edx + 4]
fcomp dword [ebp - 0x24]
fnstsw ax
sahf
jae 0x645268
fld dword [ebp - 0x24]
fsub dword [edx + 4]
fmul dword [ebp - 0x30]
fadd dword [edx + 0x24]
fstp dword [edx + 0x24]
fld dword [ebp - 0x24]
fsub dword [edx + 4]
fmul dword [ebp - 0x38]
fadd dword [edx + 0x1c]
fstp dword [edx + 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
jmp 0x645297
fld dword [edx + 4]
fcomp dword [ebp - 0x28]
fnstsw ax
sahf
jbe 0x645297
fld dword [edx + 4]
fsub dword [ebp - 0x28]
fmul dword [ebp - 0x30]
fsubr dword [edx + 0x24]
fstp dword [edx + 0x24]
fld dword [edx + 4]
fsub dword [ebp - 0x28]
fmul dword [ebp - 0x38]
fsubr dword [edx + 0x1c]
fstp dword [edx + 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [edx + 4], eax
inc ecx
add edx, 0x28
cmp ecx, 4
jl 0x6451df
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
lea esi, [edx + 0x50]
lea edi, [ecx + 0xa0]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
lea esi, [eax + 0x28]
lea edi, [edx + 0xc8]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0xd0], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x80], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x58], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 8]
mov dword [eax + 8], edx
add dword [0x82d3c8], 0xf0
add dword [0x82d3a8], 6
inc dword [ebp - 0x14]
add ebx, 0x60
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x10]
jl 0x644e4d
jmp 0x645740
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x10]
jge 0x645740
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ecx]
cmp eax, dword [0x86cfcc]
je 0x6453a4
mov edx, dword [ebx + 0x5c]
cmp dword [0x82d1f0], 0
mov esi, dword [edx]
je 0x6453a4
cmp esi, dword [0x86cfcc]
jne 0x645369
cmp dword [0x8fca94], 0
jne 0x645369
xor eax, eax
jmp 0x6453a4
call fcn.00652ec8
mov dword [0x874184], 1
cmp dword [0x86cfcc], 0
jne 0x645385
test esi, esi
jne 0x645392
cmp dword [0x86cfcc], 0
je 0x64539c
test esi, esi
jne 0x64539c
mov dword [0x874180], 1
mov dword [0x86cfcc], esi
xor eax, eax
cmp dword [0x874180], 0
jne 0x6453b6
cmp dword [0x874184], 0
je 0x6453c4
push 1
push 0
push 0
call fcn.0063d310
add esp, 0xc
mov eax, dword [0x82d3a4]
cmp eax, 1
je 0x6453fb
cmp dword [0x82d3b0], 4
jne 0x6453fb
lea edx, [eax + eax*2]
lea ecx, [edx*4 + 0x6c39ec]
mov edx, dword [0x82d3ac]
mov ecx, dword [ecx + edx*4]
mov edx, dword [0x82d3a8]
add edx, 6
cmp ecx, edx
jg 0x645570
cmp dword [0x82d3a8], 0
je 0x645556
lea eax, [eax + eax*2]
lea ecx, [eax*4 + 0x6c3a04]
mov eax, dword [0x82d3ac]
mov edx, dword [ecx + eax*4]
cmp edx, dword [0x8741b0]
je 0x645469
mov ecx, dword [0x82d3a4]
mov edx, dword [0x82d3ac]
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a04]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x82d1f0]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x164]
mov ecx, dword [0x82d3a4]
lea ecx, [ecx + ecx*2]
lea eax, [ecx*4 + 0x6c3a04]
mov edx, dword [0x82d3ac]
mov ecx, dword [eax + edx*4]
mov dword [0x8741b0], ecx
cmp dword [0x82d3a4], 0
je 0x64547d
push 0x6c3a34
call fcn.0063ed84
pop ecx
mov eax, dword [0x82d3a4]
mov ecx, dword [0x82d3ac]
cmp dword [0x82d3b0], 4
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0x6c3a1c]
mov eax, dword [edx + ecx*4]
mov edx, dword [0x82d3a4]
push eax
mov eax, dword [0x82d3ac]
lea edx, [edx + edx*2]
lea ecx, [edx*4 + 0x77be70]
mov edx, dword [ecx + eax*4 + 0xb151c]
push edx
jne 0x6454cb
mov eax, dword [0x82d3a8]
mov ecx, 3
cdq
idiv ecx
jmp 0x64552b
cmp dword [0x82d3b0], 2
jne 0x6454e2
mov eax, dword [0x82d3a8]
sar eax, 1
jns 0x64552b
adc eax, 0
jmp 0x64552b
cmp dword [0x82d3b0], 6
jne 0x6454f5
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x64552b
cmp dword [0x82d3b0], 5
jne 0x645508
mov eax, dword [0x82d3a8]
add eax, 0xfffffffe
jmp 0x64552b
cmp dword [0x82d3b0], 3
jne 0x645519
mov eax, dword [0x82d3a8]
dec eax
jmp 0x64552b
cmp dword [0x82d3b0], 1
jne 0x645529
mov eax, dword [0x82d3a8]
jmp 0x64552b
xor eax, eax
push eax
mov edx, dword [0x82d3b0]
push edx
mov ecx, dword [0x82d1f0]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14c]
cmp dword [0x82d3a4], 0
je 0x645556
push 0x94e85c
call fcn.0063ed84
pop ecx
xor edx, edx
mov dword [0x82d3a8], edx
mov ecx, dword [0x82d3ac]
mov eax, dword [ecx*4 + 0x82d38c]
mov dword [0x82d3c8], eax
xor edx, edx
lea eax, [ebx + 0x18]
mov dword [0x82d3a4], edx
mov dword [0x82d3b0], 4
mov ecx, dword [0x82d3c8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x64], ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x10], ecx
fld dword [eax]
fadd dword [ebp + 0x10]
mov edx, dword [ebp - 4]
fst dword [edx]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x38]
fld dword [eax + 0x10]
fadd dword [ebp + 0x10]
mov edx, dword [ebp - 4]
fst dword [edx + 0x1c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x54]
fld dword [eax + 4]
fadd dword [ebp + 0x14]
mov edx, dword [ebp - 4]
fst dword [edx + 4]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x20]
fld dword [eax + 0x24]
fadd dword [ebp + 0x14]
mov edx, dword [ebp - 4]
fst dword [edx + 0x3c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x58]
mov edx, dword [ebp - 4]
fld dword [eax + 8]
fst dword [edx + 0x14]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x4c]
mov edx, dword [ebp - 4]
fld dword [eax + 0x18]
fst dword [edx + 0x30]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x68]
mov edx, dword [ebp - 4]
fld dword [eax + 0xc]
fst dword [edx + 0x18]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x34]
fld dword [eax + 0x2c]
mov eax, dword [ebp - 4]
fst dword [eax + 0x50]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x6c]
mov eax, dword [ebx + 0x5c]
mov edx, dword [ebp - 4]
fild dword [eax + 0x20]
fdivr dword [0x645750]
fstp dword [ebp - 0x2c]
fild dword [eax + 0x24]
fdivr dword [0x645750]
fstp dword [ebp - 0x30]
xor ecx, ecx
fld dword [edx]
fcomp dword [ebp - 0x1c]
fnstsw ax
sahf
jae 0x64565e
fld dword [ebp - 0x1c]
fsub dword [edx]
fmul dword [ebp - 0x2c]
fadd dword [edx + 0x14]
fstp dword [edx + 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
jmp 0x64567b
fld dword [edx]
fcomp dword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x64567b
fld dword [edx]
fsub dword [ebp - 0x20]
fmul dword [ebp - 0x2c]
fsubr dword [edx + 0x14]
fstp dword [edx + 0x14]
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
fld dword [edx + 4]
fcomp dword [ebp - 0x24]
fnstsw ax
sahf
jae 0x64569d
fld dword [ebp - 0x24]
fsub dword [edx + 4]
fmul dword [ebp - 0x30]
fadd dword [edx + 0x18]
fstp dword [edx + 0x18]
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
jmp 0x6456bd
fld dword [edx + 4]
fcomp dword [ebp - 0x28]
fnstsw ax
sahf
jbe 0x6456bd
fld dword [edx + 4]
fsub dword [ebp - 0x28]
fmul dword [ebp - 0x30]
fsubr dword [edx + 0x18]
fstp dword [edx + 0x18]
mov eax, dword [ebp - 0x28]
mov dword [edx + 4], eax
inc ecx
add edx, 0x1c
cmp ecx, 4
jl 0x64563f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
lea esi, [edx + 0x38]
lea edi, [ecx + 0x70]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
lea esi, [eax + 0x1c]
lea edi, [edx + 0x8c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x94], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x78], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
add dword [0x82d3c8], 0xa8
add dword [0x82d3a8], 6
inc dword [ebp - 0x14]
add ebx, 0x60
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x10]
jl 0x645339
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret