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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
push esi
mov esi, dword [ebp + 0x14]
xor ebx, ebx
cmp esi, ebx
push edi
je 0x477ba7
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
jge 0x4780ae
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
cmp ecx, eax
jge 0x4780ae
mov edi, dword [ebp + 8]
mov byte [esp + 0xd], 0
mov ecx, edi
mov dword [esp + 0x70], ebx
mov edx, dword [edi]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x27], 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x7c], ebx
call dword [edx + 0x1a4]
mov dword [0x4fadcc], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a0]
mov ecx, dword [0x4fadcc]
mov dword [0x4fadc8], eax
cmp ecx, ebx
je 0x478075
test eax, eax
je 0x478075
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xcc]
test al, al
je 0x477c68
mov eax, dword [edi]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, edi
mov byte [esp + 0x2b], 1
call dword [eax + 0xd4]
lea edx, [esp + 0x48]
lea eax, [esp + 0xe]
push edx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x13]
push eax
push ecx
push edx
call dword [0x4fadcc]
mov ecx, dword [esp + 0x58]
xor eax, eax
mov ah, byte [esp + 0x1f]
and ecx, 0xff
mov al, byte [esp + 0x1e]
add esp, 0x10
shl eax, 8
or eax, ecx
mov dword [esp + 0x8c], eax
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
jne 0x477c8e
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x477cb2
mov eax, dword [esi + 8]
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 4]
sub eax, edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
mov ecx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x68], ecx
fild dword [esp + 0x10]
sub esp, 8
fst dword [esp + 0x34]
fmul dword [ebp + 0xc]
fstp qword [esp]
call dword [0x4cf270]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x477ce1
fsub dword [0x4d222c]
jmp 0x477ce7
fadd dword [0x4d222c]
call fcn.004b4936
fild dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x58], eax
fst dword [esp + 0x30]
fmul dword [ebp + 0x10]
fstp qword [esp]
call dword [0x4cf270]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x477d1f
fsub dword [0x4d222c]
jmp 0x477d25
fadd dword [0x4d222c]
call fcn.004b4936
fild dword [esp + 0x50]
mov dword [esp + 0x38], eax
fdiv dword [esp + 0x2c]
fst dword [esp + 0x18]
fild dword [esp + 0x38]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x44]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 0x40
jne 0x478070
fld dword [esp + 0x44]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 0x40
jne 0x478070
call fcn.004708c8
mov edx, dword [eax]
lea ecx, [esp + 0x4c]
push ecx
push 0x20732180
push 0xc470d325
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x478070
mov esi, dword [eax]
push 0
push 0
push ecx
mov ecx, esp
push 0
call fcn.00429361
push 0
sub esp, 8
mov ecx, esp
push 4
call fcn.004292fa
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push edx
push eax
call dword [esi + 0xc]
test al, al
je 0x478070
call fcn.004708c8
mov edx, dword [eax]
lea ecx, [esp + 0x30]
push ecx
push 0x20732180
push 0xc470d325
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x478070
mov esi, dword [eax]
push 0
push 0
push ecx
mov ecx, esp
push 0
call fcn.00429361
push 0
sub esp, 8
mov ecx, esp
push 4
call fcn.004292fa
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov eax, esi
mov esi, dword [esp + 0x68]
push edx
push esi
call dword [eax + 0xc]
test al, al
je 0x478070
mov eax, dword [esp + 0x38]
cmp esi, eax
lea eax, [esp + 0x38]
jl 0x477e3a
lea eax, [esp + 0x50]
mov ecx, dword [eax]
shl ecx, 3
push ecx
call fcn.004b4894
add esp, 4
mov dword [esp + 0x70], eax
test eax, eax
je 0x478070
fld dword [esp + 0x18]
fcomp dword [0x4d30d0]
fnstsw ax
test ah, 1
je 0x477e79
fld dword [0x4d30d0]
fdiv dword [esp + 0x18]
fst dword [esp + 0x64]
fstp dword [esp + 0x54]
jmp 0x477e89
mov dword [esp + 0x64], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x54]
fadd dword [0x4d30d0]
fadd st(0), st(0)
call fcn.004b4936
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x48], eax
cmp esi, ecx
lea ecx, [esp + 0x38]
jl 0x477eae
lea ecx, [esp + 0x50]
mov edx, dword [ecx]
imul edx, eax
shl edx, 4
push edx
call fcn.004b4894
add esp, 4
mov dword [esp + 0x94], eax
test eax, eax
je 0x478070
test esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0
jle 0x47804b
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x70]
shl eax, 4
mov dword [esp + 0x28], eax
fild dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [esi], 0
sub esp, 8
fdiv dword [esp + 0x20]
mov dword [esi + 4], eax
add eax, edx
mov dword [esp + 0x24], eax
fst dword [esp + 0x3c]
fsub dword [esp + 0x5c]
fstp qword [esp]
call dword [0x4cf270]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x477f3c
fsub dword [0x4d222c]
jmp 0x477f42
fadd dword [0x4d222c]
call fcn.004b4936
fld dword [esp + 0x34]
fadd dword [esp + 0x54]
sub esp, 8
mov dword [esp + 0x1c], eax
fstp qword [esp]
call dword [0x4cf274]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x477f77
fsub dword [0x4d222c]
jmp 0x477f7d
fadd dword [0x4d222c]
call fcn.004b4936
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
cmp ecx, eax
mov dword [esp + 0x3c], ecx
jg 0x478033
mov edx, ecx
neg edx
mov dword [esp + 0x2c], edx
fild dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
fsubr dword [esp + 0x34]
fdiv dword [esp + 0x64]
fcom dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x477fbd
fchs
fcom dword [0x4d30d0]
fnstsw ax
test ah, 1
je 0x477fe0
fld st(0)
fadd st(0), st(0)
fsub dword [0x4d84bc]
fmul st(1)
fmulp st(1)
fadd dword [0x4d30d0]
jmp 0x477fe8
fstp st(0)
fld dword [0x4d4cc0]
fdiv dword [esp + 0x64]
test ecx, ecx
jl 0x477ffe
cmp ecx, ebx
jl 0x477ffc
lea edx, [ebx + ebx]
sub edx, ecx
dec edx
jmp 0x477ffe
mov edx, ecx
mov eax, dword [esi]
lea ebx, [eax + 1]
mov dword [esi], ebx
mov ebx, dword [esi + 4]
shl eax, 4
inc ecx
mov dword [eax + ebx], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x3c], ecx
fstp qword [eax + edx + 8]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
dec edx
cmp ecx, eax
mov dword [esp + 0x2c], edx
jle 0x477f9e
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
inc eax
add esi, 8
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x477ef1
mov eax, dword [edi]
push 0x40
mov ecx, edi
call dword [eax + 0x1c]
test al, al
je 0x478070
mov ecx, dword [esp + 0x30]
push 0x40
mov edx, dword [ecx]
call dword [edx + 0x1c]
test al, al
jne 0x4780b7
mov eax, dword [edi]
push 0x40
mov ecx, edi
call dword [eax + 0x20]
mov byte [esp + 0xd], 1
mov eax, dword [esp + 0x70]
push eax
call fcn.004b4864
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004b4864
mov edx, dword [esp + 0x38]
push edx
call fcn.004b4864
mov al, byte [esp + 0x19]
add esp, 0xc
test al, al
mov eax, dword [esp + 0x4c]
je 0x4780b0
push eax
call fcn.004b4864
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
call dword [edx + 0x1a8]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a8]
mov edx, dword [edi]
mov ecx, edi
mov esi, eax
call dword [edx + 0x1ac]
mov ecx, dword [esp + 0x30]
shr eax, 1
mov dword [esp + 0x78], eax
mov eax, dword [ecx]
call dword [eax + 0x1ac]
mov ecx, dword [esp + 0x30]
shr eax, 1
mov edx, dword [ecx]
mov dword [esp + 0x90], eax
call dword [edx + 0x38]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [ecx]
call dword [eax + 0x3c]
imul ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
add ebx, edx
mov dword [esp + 0x28], 0
test eax, eax
lea ecx, [esi + ebx*2]
mov dword [esp + 0x84], ecx
jle 0x478417
mov ecx, dword [esp + 0x9c]
mov edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], edx
test ecx, ecx
jle 0x4783ec
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x98], ecx
mov ecx, dword [eax]
mov dword [esp + 0x10], 0
test ecx, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
jle 0x478279
lea edi, [eax + 4]
xor esi, esi
lea eax, [esp + 0x60]
lea ecx, [esp + 0xf]
push eax
mov eax, dword [edi]
lea edx, [esp + 0x12]
push ecx
mov ecx, dword [esi + eax]
push edx
mov edx, dword [esp + 0x34]
add ecx, edx
mov edx, dword [esp + 0x90]
mov ax, word [edx + ecx*2]
push eax
call dword [0x4fadcc]
mov ecx, dword [esp + 0x70]
xor eax, eax
mov ah, byte [esp + 0x1e]
mov ebx, 0xff
mov al, byte [esp + 0x1f]
and ecx, ebx
shl eax, 8
or eax, ecx
mov cl, byte [esp + 0x37]
add esp, 0x10
test cl, cl
je 0x4781f7
cmp eax, dword [esp + 0x8c]
je 0x47824b
mov edx, dword [edi]
mov ecx, eax
shr ecx, 0x10
fld qword [esi + edx + 8]
and ecx, ebx
mov edx, eax
mov dword [esp + 0x68], ecx
fild dword [esp + 0x68]
shr edx, 8
fmul st(1)
and edx, ebx
and eax, ebx
mov dword [esp + 0x68], edx
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fild dword [esp + 0x68]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
inc eax
add esi, 0x10
mov edx, dword [ecx]
mov dword [esp + 0x3c], eax
cmp eax, edx
jl 0x47819d
fld dword [esp + 0x40]
fcomp dword [0x4d84b8]
fnstsw ax
test ah, 1
je 0x47828a
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov dx, word [esp + 0x7c]
mov word [eax], dx
jmp 0x4783b6
fld dword [0x4d30d0]
fdiv dword [esp + 0x40]
fld st(0)
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fmul dword [esp + 0x14]
fst dword [esp + 0x14]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x4782c7
mov byte [esp + 0x88], 0
jmp 0x4782f7
fld dword [esp + 0x14]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x4782e1
mov byte [esp + 0x88], bl
jmp 0x4782f7
fld dword [esp + 0x14]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x88], al
fld dword [esp + 0x18]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x478312
mov byte [esp + 0x80], 0
jmp 0x478342
fld dword [esp + 0x18]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x47832c
mov byte [esp + 0x80], bl
jmp 0x478342
fld dword [esp + 0x18]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x80], al
fld dword [esp + 0x10]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x47835a
mov byte [esp + 0x58], 0
jmp 0x478384
fld dword [esp + 0x10]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x478371
mov byte [esp + 0x58], bl
jmp 0x478384
fld dword [esp + 0x10]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x58], al
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call dword [0x4fadc8]
mov eax, dword [esp + 0x2c]
mov dx, word [esp + 0x44]
mov edi, dword [ebp + 8]
add esp, 0x10
mov word [eax], dx
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
add eax, 8
add edx, 2
dec ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x98], ecx
jne 0x478166
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x28]
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x78]
add esi, edx
mov edx, dword [esp + 0x74]
dec edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x74], edx
jne 0x47814b
mov eax, dword [edi]
push 0x40
mov ecx, edi
call dword [eax + 0x20]
fld dword [esp + 0x44]
fcomp dword [0x4d30d0]
fnstsw ax
test ah, 1
je 0x478445
fld dword [0x4d30d0]
fdiv dword [esp + 0x44]
fst dword [esp + 0x64]
fstp dword [esp + 0x54]
jmp 0x478455
mov dword [esp + 0x64], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x94]
test eax, eax
mov dword [esp + 0x20], 0
jle 0x4785c4
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x70]
shl eax, 4
mov dword [esp + 0x28], eax
fild dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esi], 0
sub esp, 8
mov dword [esi + 4], ebx
fdiv dword [esp + 0x4c]
add ebx, edx
mov dword [esp + 0x24], ebx
fst dword [esp + 0x3c]
fsub dword [esp + 0x5c]
fstp qword [esp]
call dword [0x4cf270]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x4784c6
fsub dword [0x4d222c]
jmp 0x4784cc
fadd dword [0x4d222c]
call fcn.004b4936
fld dword [esp + 0x34]
fadd dword [esp + 0x54]
sub esp, 8
mov edi, eax
fstp qword [esp]
call dword [0x4cf274]
fcom dword [0x4d4cc0]
add esp, 8
fnstsw ax
test ah, 1
je 0x4784ff
fsub dword [0x4d222c]
jmp 0x478505
fadd dword [0x4d222c]
call fcn.004b4936
mov ecx, edi
cmp edi, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
jg 0x4785ac
neg edi
fild dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
fsubr dword [esp + 0x34]
fdiv dword [esp + 0x64]
fcom dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x47853d
fchs
fcom dword [0x4d30d0]
fnstsw ax
test ah, 1
je 0x478560
fld st(0)
fadd st(0), st(0)
fsub dword [0x4d84bc]
fmul st(1)
fmulp st(1)
fadd dword [0x4d30d0]
jmp 0x478568
fstp st(0)
fld dword [0x4d4cc0]
fdiv dword [esp + 0x64]
test ecx, ecx
jge 0x478574
mov edx, edi
jmp 0x478581
cmp ecx, edx
jl 0x47857f
add edx, edx
sub edx, ecx
dec edx
jmp 0x478581
mov edx, ecx
mov eax, dword [esi]
lea ebx, [eax + 1]
mov dword [esi], ebx
mov ebx, dword [esi + 4]
shl eax, 4
inc ecx
dec edi
mov dword [eax + ebx], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x3c], ecx
fstp qword [eax + edx + 8]
cmp ecx, dword [esp + 0x40]
jle 0x47851e
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
inc eax
add esi, 8
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x47847f
mov ecx, dword [esp + 0x4c]
push 0x40
mov eax, dword [ecx]
call dword [eax + 0x1c]
test al, al
je 0x478070
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
call dword [edx + 0x1ac]
mov ecx, dword [esp + 0x4c]
shr eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [ecx]
call dword [eax + 0x1ac]
mov ecx, dword [esp + 0x4c]
shr eax, 1
mov edx, dword [ecx]
mov dword [esp + 0x84], eax
call dword [edx + 0x1a8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
call dword [eax + 0x1a8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x4788da
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x4788b2
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x74], eax
mov eax, dword [ebx]
mov dword [esp + 0x10], 0
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], 0
jle 0x47876a
lea edi, [ebx + 4]
xor esi, esi
lea edx, [esp + 0x68]
lea eax, [esp + 0xf]
push edx
mov edx, dword [edi]
push eax
lea ecx, [esp + 0x16]
mov eax, dword [esi + edx]
push ecx
imul eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x2c]
mov dx, word [ecx + eax*2]
push edx
call dword [0x4fadcc]
mov ecx, dword [esp + 0x78]
xor eax, eax
mov ah, byte [esp + 0x1e]
and ecx, 0xff
mov al, byte [esp + 0x1f]
add esp, 0x10
shl eax, 8
or eax, ecx
mov cl, byte [esp + 0x27]
test cl, cl
je 0x4786e0
cmp eax, dword [esp + 0x8c]
je 0x47873f
mov edx, dword [edi]
mov ecx, eax
shr ecx, 0x10
fld qword [esi + edx + 8]
and ecx, 0xff
mov edx, eax
mov dword [esp + 0x60], ecx
fild dword [esp + 0x60]
shr edx, 8
fmul st(1)
and edx, 0xff
and eax, 0xff
mov dword [esp + 0x60], edx
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fild dword [esp + 0x60]
mov dword [esp + 0x60], eax
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fild dword [esp + 0x60]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
inc eax
add esi, 0x10
mov ecx, dword [ebx]
mov dword [esp + 0x3c], eax
cmp eax, ecx
jl 0x478688
fld dword [esp + 0x44]
fcomp dword [0x4d84b8]
fnstsw ax
test ah, 1
je 0x478774
mov ax, word [esp + 0x7c]
jmp 0x478881
fld dword [0x4d30d0]
fdiv dword [esp + 0x44]
fld st(0)
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fmul dword [esp + 0x14]
fst dword [esp + 0x14]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x4787ae
mov byte [esp + 0x2c], 0
jmp 0x4787d9
fld dword [esp + 0x14]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x4787c6
mov byte [esp + 0x2c], 0xff
jmp 0x4787d9
fld dword [esp + 0x14]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x2c], al
fld dword [esp + 0x18]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x4787f1
mov byte [esp + 0x28], 0
jmp 0x47881c
fld dword [esp + 0x18]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x478809
mov byte [esp + 0x28], 0xff
jmp 0x47881c
fld dword [esp + 0x18]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x28], al
fld dword [esp + 0x10]
fcomp dword [0x4d4cc0]
fnstsw ax
test ah, 1
je 0x478834
mov byte [esp + 0x5c], 0
jmp 0x47885f
fld dword [esp + 0x10]
fcomp dword [0x4d1264]
fnstsw ax
test ah, 0x41
jne 0x47884c
mov byte [esp + 0x5c], 0xff
jmp 0x47885f
fld dword [esp + 0x10]
fadd dword [0x4d222c]
call fcn.004b4936
mov byte [esp + 0x5c], al
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
push edx
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call dword [0x4fadc8]
mov ax, word [esp + 0x44]
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
add ebx, 8
mov word [ecx], ax
lea eax, [edx + edx]
add ecx, eax
mov eax, dword [esp + 0x74]
dec eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x74], eax
jne 0x478651
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov ecx, 2
add esi, ecx
add edx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], esi
dec ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x78], ecx
jne 0x478635
mov ecx, dword [esp + 0x30]
push 0x40
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [esp + 0x4c]
push 0x40
mov edx, dword [ecx]
call dword [edx + 0x20]
jmp 0x478075