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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0xbc
and esp, 0xfffffff8
mov dword [esp + 0x14], 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x3c], 0
lea edi, [esp + 0x50]
mov esi, 0x7874c8
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], 0
lea eax, [esp + 0x78]
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 0
push 1
call fcn.0066a2c0
pop ecx
mov eax, dword [eax + 0x27c]
mov esi, dword [eax]
movzx eax, byte [esi]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov ebx, dword [esp + 0x14]
mov edi, ebx
sub edi, 1
je 0x64bb72
sub edi, 1
je 0x64be10
sub edi, 2
je 0x64beb0
sub edi, 4
je 0x64bee0
sub edi, 8
je 0x64bf52
sub edi, 0x10
je 0x64bf80
sub edi, 0x20
je 0x64bfe0
sub edi, 0x40
je 0x64c030
sub edi, 0x80
je 0x64c073
sub edi, 0x100
je 0x64c0c0
sub edi, 0x200
je 0x64c0f0
sub edi, 0x1c00
je 0x64bcd2
sub edi, 0x2000
je 0x64bc30
sub edi, 0x4000
je 0x64c158
jmp 0x64c51a
movzx ebx, al
movzx edx, byte [ebx + 0x6dccf8]
and edx, 6
je 0x64bb97
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
inc dword [esp + 0x3c]
jmp 0x64c51a
cmp eax, 0xffffffff
jne 0x64bba1
or ecx, 0xffffffff
jmp 0x64bba8
movzx ecx, byte [ebx + 0x6dcef8]
mov esi, ecx
sub ecx, 0x2b
je 0x64bbc8
sub ecx, 2
je 0x64bbc0
sub ecx, 0x1c
je 0x64bbe6
sub ecx, 5
je 0x64bc04
jmp 0x64bc22
mov dword [esp + 0x40], 1
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x48], 1
jmp 0x64c51a
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x14], 0x4000
jmp 0x64c51a
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x14], 0x2000
jmp 0x64c51a
mov dword [esp + 0x14], 2
jmp 0x64c51a
mov ebx, 1
lea edi, [esp + 0x84]
mov esi, str.INFINITY
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x64bc58
inc ebx
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp ebx, 8
jge 0x64bc7d
cmp eax, 0xffffffff
jne 0x64bc67
or edx, 0xffffffff
jmp 0x64bc71
movzx edx, al
movzx edx, byte [edx + 0x6dcef8]
movsx ecx, byte [esp + ebx + 0x84]
cmp ecx, edx
je 0x64bc46
cmp ebx, 3
je 0x64bc87
cmp ebx, 8
jne 0x64bcc5
cmp dword [esp + 0x40], 0
je 0x64bc98
fld dword [0x6df0a4]
fchs
jmp 0x64bc9e
fld dword [0x6df0a4]
fstp qword [esp + 0x78]
add dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
fld qword [esp + 0x78]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
mov ebx, 1
mov dword [esp + 4], 0
lea edi, [esp + 0x90]
mov esi, str.NAN_
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x98]
mov esi, 0x7874ee
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
jmp 0x64bd14
inc ebx
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp ebx, 4
jge 0x64bd39
cmp eax, 0xffffffff
jne 0x64bd23
or edx, 0xffffffff
jmp 0x64bd2d
movzx edx, al
movzx edx, byte [edx + 0x6dcef8]
movsx ecx, byte [esp + ebx + 0x90]
cmp ecx, edx
je 0x64bd02
cmp ebx, 3
je 0x64bd47
cmp ebx, 4
jne 0x64be01
cmp ebx, 4
jne 0x64bda6
jmp 0x64bd70
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x98], al
inc dword [esp + 4]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp dword [esp + 4], 0x20
jge 0x64bd90
movzx edx, al
movzx ecx, byte [edx + 0x6dccf8]
mov edi, ecx
and edi, 0x10
jne 0x64bd50
and ecx, 0xc0
jne 0x64bd50
cmp eax, 0x29
je 0x64bda2
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
inc dword [esp + 4]
mov eax, dword [esp + 4]
mov byte [esp + eax + 0x98], 0
cmp dword [esp + 0x40], 0
je 0x64bdd0
lea eax, [esp + 0x98]
push eax
call fcn.0066d985
pop ecx
fchs
jmp 0x64bdde
lea eax, [esp + 0x98]
push eax
call fcn.0066d985
pop ecx
fstp qword [esp + 0x78]
mov esi, dword [esp + 0x3c]
add esi, ebx
add esi, dword [esp + 4]
add esi, dword [esp + 0x48]
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
fld qword [esp + 0x78]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
cmp eax, dword [esp + 0x34]
jne 0x64be34
mov dword [esp + 0x14], 0x10
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
movzx ebx, al
movzx edx, byte [ebx + 0x6dccf8]
and edx, 0x10
jne 0x64be50
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
cmp eax, 0x30
jne 0x64bea3
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x64be72
or ecx, 0xffffffff
jmp 0x64be7c
movzx ecx, bl
movzx ecx, byte [ecx + 0x6dcef8]
cmp ecx, 0x58
jne 0x64be96
mov dword [esp + 0x14], 0x8000
mov dword [esp + 0x24], 1
jmp 0x64c51a
mov dword [esp + 0x14], 4
jmp 0x64c51a
mov dword [esp + 0x14], 8
jmp 0x64c51a
cmp eax, 0x30
jne 0x64bed0
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 8
jmp 0x64c51a
movzx edx, al
movzx ebx, byte [edx + 0x6dccf8]
and ebx, 0x10
jne 0x64bf20
cmp eax, dword [esp + 0x34]
jne 0x64bf13
mov dword [esp + 0x14], 0x20
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 0x40
jmp 0x64c51a
cmp byte [esp + 0x54], 0x14
jae 0x64bf38
mov cl, byte [esp + 0x54]
inc byte [esp + 0x54]
movzx edx, cl
mov byte [esp + edx + 0x55], al
jmp 0x64bf3c
inc dword [esp + 0x30]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
movzx ebx, al
movzx ecx, byte [ebx + 0x6dccf8]
and ecx, 0x10
jne 0x64bf70
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
mov dword [esp + 0x14], 0x20
jmp 0x64c51a
movzx edx, al
movzx ebx, byte [edx + 0x6dccf8]
and ebx, 0x10
jne 0x64bfa0
mov dword [esp + 0x14], 0x40
jmp 0x64c51a
mov bl, byte [esp + 0x54]
cmp bl, 0x14
jae 0x64bfc5
cmp eax, 0x30
jne 0x64bfb2
test bl, bl
je 0x64bfc1
mov cl, byte [esp + 0x54]
inc byte [esp + 0x54]
movzx edx, cl
mov byte [esp + edx + 0x55], al
dec dword [esp + 0x30]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
cmp eax, 0xffffffff
jne 0x64bff0
or ebx, 0xffffffff
jmp 0x64bffa
movzx ebx, al
movzx ebx, byte [ebx + 0x6dcef8]
cmp ebx, 0x45
jne 0x64c020
mov dword [esp + 0x14], 0x80
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 0x800
jmp 0x64c51a
cmp eax, 0x2b
jne 0x64c048
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c066
cmp eax, 0x2d
jne 0x64c066
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x44], 1
mov dword [esp + 0x14], 0x100
jmp 0x64c51a
movzx ecx, al
movzx edx, byte [ecx + 0x6dccf8]
and edx, 0x10
jne 0x64c090
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
cmp eax, 0x30
jne 0x64c0b3
mov dword [esp + 0x14], 0x200
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 0x400
jmp 0x64c51a
cmp eax, 0x30
jne 0x64c0e0
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 0x400
jmp 0x64c51a
movzx ebx, al
movzx ecx, byte [ebx + 0x6dccf8]
and ecx, 0x10
jne 0x64c110
mov dword [esp + 0x14], 0x800
jmp 0x64c51a
mov ebx, dword [esp + 0x20]
mov edx, ebx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x20], ecx
add ecx, ecx
mov dword [esp + 0x20], ecx
add eax, 0xffffffd0
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
cmp eax, 0x7fff
jle 0x64c142
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov edx, dword [esp + 0x24]
mov edi, edx
sub edi, 1
je 0x64c1b0
sub edi, 1
je 0x64c200
sub edi, 2
je 0x64c230
sub edi, 4
je 0x64c316
sub edi, 8
je 0x64c3d6
sub edi, 0x10
je 0x64c420
sub edi, 0x20
je 0x64c466
sub edi, 0xc0
je 0x64c4b0
jmp 0x64c51a
mov eax, dword [esp + 0x18]
mov byte [eax], 0
mov byte [eax + 1], 0
mov byte [eax + 2], 0
mov byte [eax + 3], 0
mov byte [eax + 4], 0
mov byte [eax + 5], 0
mov byte [eax + 6], 0
mov byte [eax + 7], 0
mov dword [esp + 0x28], 2
mov dword [esp + 0x24], 2
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
cmp eax, 0x30
jne 0x64c220
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x24], 4
jmp 0x64c51a
movzx ebx, al
movzx ecx, byte [ebx + 0x6dccf8]
and ecx, 0x20
jne 0x64c270
cmp eax, dword [esp + 0x34]
jne 0x64c263
mov dword [esp + 0x24], 8
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x24], 0x10
jmp 0x64c51a
cmp dword [esp + 0x28], 0x11
jge 0x64c300
inc dword [esp + 0x38]
mov esi, dword [esp + 0x28]
cmp esi, 0x80000000
sbb esi, 0xffffffff
sar esi, 1
mov edx, dword [esp + 0x18]
mov cl, byte [edx + esi]
mov byte [esp + 8], cl
cmp eax, 0xffffffff
jne 0x64c2a3
or eax, 0xffffffff
jmp 0x64c2aa
movzx eax, byte [ebx + 0x6dcef8]
mov ecx, eax
cmp eax, 0x41
jl 0x64c2b6
add ecx, 0xffffffc9
jmp 0x64c2b9
sub ecx, 0x30
mov eax, dword [esp + 0x28]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x64c2d0
or byte [esp + 8], cl
jmp 0x64c2da
movzx eax, cl
shl eax, 4
or byte [esp + 8], al
mov cl, byte [esp + 8]
mov eax, dword [esp + 0x18]
mov byte [eax + esi], cl
inc dword [esp + 0x28]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
movzx ebx, al
movzx edx, byte [ebx + 0x6dccf8]
and edx, 0x20
jne 0x64c332
mov dword [esp + 0x24], 0x10
jmp 0x64c51a
cmp dword [esp + 0x28], 0x11
jge 0x64c3c0
mov edi, dword [esp + 0x28]
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov edx, dword [esp + 0x18]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
cmp eax, 0xffffffff
jne 0x64c361
or eax, 0xffffffff
jmp 0x64c368
movzx eax, byte [ebx + 0x6dcef8]
mov ecx, eax
cmp eax, 0x41
jl 0x64c374
add ecx, 0xffffffc9
jmp 0x64c377
sub ecx, 0x30
mov eax, dword [esp + 0x28]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x64c390
or byte [esp + 0xc], cl
jmp 0x64c39a
movzx eax, cl
shl eax, 4
or byte [esp + 0xc], al
mov cl, byte [esp + 0xc]
mov eax, dword [esp + 0x18]
mov byte [eax + edi], cl
inc dword [esp + 0x28]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
cmp eax, 0xffffffff
jne 0x64c3e0
or edx, 0xffffffff
jmp 0x64c3ea
movzx edx, al
movzx edx, byte [edx + 0x6dcef8]
cmp edx, 0x50
jne 0x64c411
mov dword [esp + 0x24], 0x20
inc dword [esp + 0x2c]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x14], 0x800
jmp 0x64c51a
inc dword [esp + 0x2c]
cmp eax, 0x2d
jne 0x64c433
mov dword [esp + 0x4c], 1
jmp 0x64c448
cmp eax, 0x2b
je 0x64c448
push 1
push eax
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
dec dword [esp + 0x2c]
mov dword [esp + 0x24], 0x40
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
movzx ecx, al
movzx ebx, byte [ecx + 0x6dccf8]
and ebx, 0x10
jne 0x64c482
mov dword [esp + 0x14], 0x1000
jmp 0x64c51a
cmp eax, 0x30
jne 0x64c4a6
inc dword [esp + 0x2c]
mov dword [esp + 0x24], 0x80
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
jmp 0x64c51a
mov dword [esp + 0x24], 0x100
jmp 0x64c51a
movzx edx, al
movzx ecx, byte [edx + 0x6dccf8]
and ecx, 0x10
jne 0x64c4d0
mov dword [esp + 0x14], 0x800
jmp 0x64c51a
mov ebx, dword [esp + 0x1c]
mov edx, ebx
lea ecx, [edx + ebx*4]
mov dword [esp + 0x1c], ecx
add ecx, ecx
mov dword [esp + 0x1c], ecx
add eax, 0xffffffd0
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x20], 0x7fff
jle 0x64c505
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
inc dword [esp + 0x2c]
inc dword [esp + 0x10]
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ecx, dword [esp + 0x10]
cmp ecx, dword [ebp + 8]
jg 0x64c538
cmp eax, 0xffffffff
je 0x64c538
mov ebx, dword [esp + 0x14]
and ebx, 0x1800
je 0x64bad7
and dword [esp + 0x14], 0xe2c
cmp dword [esp + 0x14], 0
jne 0x64c552
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0
jmp 0x64c569
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov edx, ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], edx
push 1
push eax
push dword [ebp + 0x10]
call dword [ebp + 0xc]
fldz
add esp, 0xc
cmp dword [esp + 0x24], 0
jne 0x64c6d5
cmp dword [esp + 0x44], 0
je 0x64c595
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
neg dword [esp + 0x20]
movzx ecx, byte [esp + 0x54]
mov eax, ecx
lea edi, [esp + 0x50]
add edi, ecx
add edi, 5
jmp 0x64c5ab
inc dword [esp + 0x30]
sub eax, 1
jb 0x64c5b6
dec edi
cmp byte [edi], 0x30
je 0x64c5a7
inc al
mov byte [esp + 0x54], al
cmp byte [esp + 0x54], 0
jne 0x64c5d3
mov dl, byte [esp + 0x54]
inc byte [esp + 0x54]
movzx eax, dl
mov byte [esp + eax + 0x55], 0x30
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
cmp eax, 0xffff8000
jl 0x64c5ed
cmp eax, 0x7fff
jle 0x64c5f6
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je 0x64c636
cmp dword [esp + 0x44], 0
je 0x64c615
fstp st(0)
fld qword [0x6ddb48]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp dword [esp + 0x40], 0
je 0x64c626
fld qword [0x6df0c8]
fchs
jmp 0x64c62c
fld qword [0x6df0c8]
fstp st(1)
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
mov ax, word [esp + 0x20]
mov word [esp + 0x52], ax
lea eax, [esp + 0x50]
push eax
fstp st(0)
call fcn.0066b6e0
pop ecx
fstp qword [esp + 0x78]
fld qword [0x6ddb48]
fcomp qword [esp + 0x78]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x64c684
fld qword [esp + 0x78]
fcomp qword [0x6df0d8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x64c684
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x64c6b1
fld qword [esp + 0x78]
fcomp qword [0x6df0e0]
fnstsw ax
test ah, 0x45
jne 0x64c6b1
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov esi, dword [0x6df0c8]
mov eax, dword [0x6df0cc]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x40], 0
je 0x64c6c9
cmp dword [esp + 0x14], 0
je 0x64c6c9
fld qword [esp + 0x78]
fchs
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x78]
fld qword [esp + 0x78]
fcomp qword [0x6ddb48]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x64c7f7
cmp dword [esp + 0x4c], 0
je 0x64c71c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
neg dword [esp + 0x1c]
jmp 0x64c71c
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
mov eax, esi
shrd ebx, esi, 1
shr esi, 1
mov dword [ecx], ebx
mov dword [ecx + 4], esi
inc dword [esp + 0x1c]
lea edx, [esp + 0x78]
movsx eax, word [edx]
and eax, 0xf0
cmp eax, 0x10
jne 0x64c706
dec dword [esp + 0x38]
shl dword [esp + 0x38], 2
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x78]
and word [eax], 0xf
movsx edi, word [esp + 0x1c]
add edi, 0x3ff
shl edi, 4
lea eax, [esp + 0x78]
or word [eax], di
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x48]
add ebx, dword [esp + 0x28]
inc ebx
add ebx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
fld qword [0x6ddb48]
fcomp qword [esp + 0x78]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x64c7b8
fld qword [esp + 0x78]
fcomp qword [0x6df0d8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x64c7b8
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
jmp 0x64c7e5
fld qword [esp + 0x78]
fcomp qword [0x6df0e0]
fnstsw ax
test ah, 0x45
jne 0x64c7e5
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov edx, dword [0x6df0c8]
mov eax, dword [0x6df0cc]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x40], 0
je 0x64c807
lea eax, [esp + 0x78]
or word [eax], 0x8000
jmp 0x64c807
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
fstp st(0)
fld qword [esp + 0x78]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret