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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6738ad
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1e4
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], edi
call fcn.0064dc20
lea ecx, [esp + 0x7c]
call fcn.0064dc20
xor ebx, ebx
lea ecx, [esp + 0xc4]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0064dc40
push eax
lea ecx, [esp + 0x40]
call fcn.004bd820
mov ecx, dword [edi + 0x200]
cmp ecx, ebx
mov dword [esp + 0xc], ecx
je 0x50dff5
mov al, byte [edi + 0x1e0]
cmp al, bl
jne 0x50d457
mov ecx, dword [edi + 0x1fc]
mov ecx, dword [ecx]
call fcn.004da3a0
mov edx, dword [edi + 0x210]
mov esi, eax
cmp byte [edx], bl
jne 0x50d3f9
mov eax, dword [edi + 0x1e8]
mov ecx, dword [edi + 0x1ec]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
jmp 0x50d40d
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xb8]
fsub qword [edi + 0x1e8]
fstp qword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esi]
push ecx
lea ecx, [esp + 0xc8]
push edx
push ecx
mov ecx, esi
call dword [eax + 0x94]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
jmp 0x50dff5
cmp al, 1
jne 0x50df1d
lea ecx, [esp + 0xac]
call fcn.0064dc20
lea ecx, [esp + 0x108]
call fcn.0064dc20
lea ecx, [esp + 0xf4]
call fcn.00473110
push 0xa
push ebx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x200], ebx
mov dword [esp + 0xfc], 0x69db4c
call fcn.0048b670
mov ecx, dword [edi + 0x1fc]
mov dword [esp + 0x1f8], 1
mov esi, dword [ecx]
mov ecx, esi
mov dword [esp + 0x18], esi
call fcn.0048ee40
cmp eax, 2
jne 0x50d95e
push 1
mov ecx, edi
call fcn.00537250
test eax, eax
je 0x50d95e
mov ecx, esi
call fcn.00498cb0
cmp eax, ebx
je 0x50dd2a
push eax
mov ecx, esi
call fcn.00490320
cmp eax, ebx
mov dword [esp + 0xc], eax
je 0x50dd2a
lea ecx, [esp + 0x94]
call fcn.0064dc20
lea ecx, [esp + 0xc4]
call fcn.0064dc20
mov ecx, dword [esp + 0xc]
mov esi, dword [edi + 0x98]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
call fcn.004da3a0
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.004da3a0
mov edx, dword [eax]
push ebx
mov ecx, eax
call dword [edx + 0x68]
mov ecx, dword [esp + 0x18]
mov esi, eax
call fcn.004da3a0
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x210]
cmp byte [eax], bl
jne 0x50d5e0
mov edx, dword [esi]
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
call dword [edx + 0x7c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
jmp 0x50d62d
mov eax, dword [esi]
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xc]
sub esp, 0x18
lea edx, [esp + 0xac]
mov dword [esp + 0x34], esp
mov edi, dword [ecx]
mov ecx, esp
push edx
call fcn.0064dc70
mov eax, edi
mov edi, dword [esp + 0x24]
mov ecx, edi
call dword [eax + 0xa0]
fstp qword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [edi]
push eax
lea eax, [esp + 0xe0]
push ecx
push eax
mov ecx, edi
call dword [edx + 0xe0]
push eax
lea ecx, [esp + 0x124]
call fcn.006578b0
fld qword [esp + 0x128]
fmul qword [0x692698]
push ebx
push ebx
sub esp, 8
lea ecx, [esp + 0xec]
fadd qword [esp + 0xac]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x138]
fmul qword [0x692698]
fadd qword [esp + 0xac]
fstp qword [esp]
call fcn.0064dc40
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub esp, 0x18
mov dword [esp + 0xec], ecx
lea eax, [esp + 0xdc]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov dword [esp + 0xf4], edx
call fcn.0064dc70
sub esp, 0x18
lea edx, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.0064dc70
lea eax, [esp + 0x168]
push eax
call fcn.00655af0
sub esp, 0x44
lea edx, [esp + 0x1b0]
mov ecx, esp
mov dword [esp + 0x84], esp
push edx
mov byte [esp + 0x274], 2
call fcn.00654cc0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
mov dword [esp + 0x28], 0x69dbfc
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov edi, 0x69dbe8
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x6c]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0x200], 5
push eax
push esi
call dword [edx + 0x11c]
cmp eax, ebx
je 0x50d8cc
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x210]
cmp byte [edx], bl
jne 0x50d82b
mov eax, dword [esi]
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call dword [eax + 0x7c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
jmp 0x50d875
mov edx, dword [esi]
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
call dword [edx + 0x84]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
sub esp, 0x18
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0064dc70
lea ecx, [esp + 0x40]
push ecx
call fcn.00468a00
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x48]
add esp, 0x1c
mov ecx, dword [eax + edx*8]
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
cmp esi, ebx
je 0x50d8d9
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0x58]
mov byte [esp + 0x1f8], 6
cmp eax, ebx
je 0x50d8f6
push eax
call fcn.0065e732
add esp, 4
mov esi, 0x691080
mov dword [esp + 0x68], edi
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x1f8], 7
cmp eax, ebx
je 0x50d91c
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x68], esi
mov dword [esp + 0x28], 0x69dbfc
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1f8], 8
cmp eax, ebx
je 0x50d941
push eax
call fcn.0065e732
add esp, 4
lea ecx, [esp + 0x138]
mov dword [esp + 0x28], esi
mov byte [esp + 0x1f8], 1
call fcn.00456760
jmp 0x50dd2a
mov esi, dword [edi + 0x98]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
call fcn.0048ee40
cmp eax, 2
jne 0x50dd64
push ebx
mov ecx, esi
call fcn.0048fd00
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x50dd64
mov ecx, esi
call fcn.0048fc00
cmp eax, ebx
je 0x50dd64
mov ecx, eax
call fcn.004d8c90
mov ecx, dword [edi + 0x210]
push eax
cmp byte [ecx], bl
jne 0x50d9d8
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xf8]
push edx
call fcn.00491ad0
mov ecx, esi
call fcn.004da3a0
mov edx, dword [eax]
lea ecx, [esp + 0xdc]
push ecx
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x50da02
lea ecx, [esp + 0xf8]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004922e0
mov ecx, esi
call fcn.004da3a0
mov edx, dword [eax]
lea ecx, [esp + 0xdc]
push ecx
mov ecx, eax
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xfc]
cmp eax, ebx
mov dword [esp + 0xbc], edx
jle 0x50dd64
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx]
cmp ecx, eax
mov dword [esp + 0xc], ecx
je 0x50dd64
call fcn.0048ee40
cmp eax, 2
jne 0x50dd64
mov ecx, esi
call fcn.004d8c90
mov edx, dword [eax + 8]
xor ecx, ecx
cmp edx, ebx
jle 0x50daa0
mov eax, dword [eax + 4]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
je 0x50da98
inc ecx
add eax, 4
cmp ecx, edx
jl 0x50da86
jmp 0x50daa0
cmp ecx, ebx
jge 0x50dd64
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
push edx
call fcn.00493970
lea ecx, [esp + 0x138]
mov esi, eax
call fcn.004c7940
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f8], 0xf
call fcn.004da3a0
mov ecx, dword [esp + 0xc]
mov edi, eax
call fcn.004da3a0
mov edx, dword [eax]
lea ecx, [esp + 0xc4]
push ecx
mov ecx, eax
call dword [edx + 0xdc]
cmp esi, 2
jne 0x50db28
fld qword [esp + 0xcc]
push ebx
push ebx
sub esp, 8
lea ecx, [esp + 0xec]
fchs
fstp qword [esp]
fld qword [esp + 0xd4]
sub esp, 8
fchs
fstp qword [esp]
call fcn.00657770
push eax
lea ecx, [esp + 0xc8]
call fcn.006578b0
sub esp, 0x18
lea edx, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0064dc70
lea ecx, [esp + 0x150]
call fcn.004d43c0
fld qword [esp + 0xcc]
fadd qword [esp + 0xb4]
push ebx
push ebx
sub esp, 8
lea ecx, [esp + 0xec]
fstp qword [esp]
fld qword [esp + 0xd4]
fadd qword [esp + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0064dc40
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub esp, 0x18
mov dword [esp + 0x130], ecx
lea eax, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov dword [esp + 0x138], edx
call fcn.0064dc70
lea ecx, [esp + 0x150]
call fcn.004c7af0
mov dword [esp + 0x28], 0x69dbfc
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov esi, 0x69dbe8
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov edx, dword [edi]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x54]
push eax
push ecx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x140]
push eax
push ecx
mov ecx, edi
mov byte [esp + 0x208], 0x12
call dword [edx + 0x11c]
cmp eax, ebx
je 0x50dca6
sub esp, 0x18
lea edx, [esp + 0x120]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0064dc70
lea eax, [esp + 0x40]
push eax
call fcn.00468a00
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*2]
add esp, 0x1c
lea eax, [edx + ecx*8]
mov ecx, dword [edx + ecx*8]
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x1f8], 0x13
cmp eax, ebx
je 0x50dcc3
push eax
call fcn.0065e732
add esp, 4
mov esi, 0x691080
mov dword [esp + 0x54], 0x69dbe8
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x58]
mov byte [esp + 0x1f8], 0x14
cmp eax, ebx
je 0x50dced
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x54], esi
mov dword [esp + 0x28], 0x69dbfc
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1f8], 0x15
cmp eax, ebx
je 0x50dd12
push eax
call fcn.0065e732
add esp, 4
lea ecx, [esp + 0x138]
mov dword [esp + 0x28], esi
mov byte [esp + 0x1f8], 1
call fcn.004c7ac0
mov dword [esp + 0xf4], 0x69db38
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x1f8], 0x16
cmp eax, ebx
je 0x50dd54
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x1f8], 0xffffffff
jmp 0x50dff5
mov ecx, dword [esp + 0x18]
call fcn.004da3a0
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.004da3a0
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], 0x69dbfc
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov ecx, 0x69dbe8
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov edx, dword [esi]
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x30]
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x208], 0xb
call dword [edx + 0x11c]
cmp eax, ebx
je 0x50dea7
mov edx, dword [edi + 0x210]
mov ecx, dword [esp + 0xc]
mov al, byte [edx]
cmp al, bl
mov eax, dword [ecx]
jne 0x50de0a
lea edx, [esp + 0xdc]
push edx
call dword [eax + 0x7c]
jmp 0x50de18
lea edx, [esp + 0xdc]
push edx
call dword [eax + 0x84]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub esp, 0x18
mov dword [esp + 0xa4], ecx
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov dword [esp + 0xac], edx
call fcn.0064dc70
lea ecx, [esp + 0x40]
push ecx
call fcn.00468a00
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x48]
add esp, 0x1c
mov ecx, dword [eax + edx*8]
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov edi, 0x69dbe8
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x1f8], 0xc
cmp eax, ebx
je 0x50dec9
push eax
call fcn.0065e732
add esp, 4
mov esi, 0x691080
mov dword [esp + 0x54], edi
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x58]
mov byte [esp + 0x1f8], 0xd
cmp eax, ebx
je 0x50deef
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x54], esi
mov dword [esp + 0x28], 0x69dbfc
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x1f8], 0xe
cmp eax, ebx
je 0x50dd2a
push eax
call fcn.0065e732
add esp, 4
jmp 0x50dd2a
cmp al, 2
jne 0x50dff5
xor esi, esi
cmp ecx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jle 0x50dff5
mov eax, dword [edi + 0x1fc]
mov ecx, dword [eax + esi*4]
call fcn.004da3a0
mov edx, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
call dword [edx + 0xb8]
fld qword [esp + 0x1c]
fadd st(1)
fst qword [esp + 0x1c]
fcomp qword [edi + 0x1e8]
fnstsw ax
test ah, 1
je 0x50df7f
mov eax, dword [esp + 0xc]
inc esi
cmp esi, eax
fstp st(0)
jl 0x50df3f
jmp 0x50dff5
mov eax, dword [edi + 0x210]
cmp byte [eax + esi], bl
jne 0x50df9e
fld qword [esp + 0x1c]
fsub st(1)
fsubr qword [edi + 0x1e8]
fstp qword [esp + 0xc]
fstp st(0)
jmp 0x50dfae
fstp st(0)
fld qword [esp + 0x1c]
fsub qword [edi + 0x1e8]
fstp qword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0xe4]
push eax
call dword [edx + 0x94]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov esi, dword [ebp + 8]
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.0064dc70
mov ecx, dword [esp + 0x1f0]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4