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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x44]
fld dword [edi + 4]
call fcn.0043d2c4
fld dword [edi + 8]
mov ebx, eax
mov dword [esp + 0x14], ebx
call fcn.0043d2c4
mov ebp, eax
lea eax, [esp + 0x38]
lea ecx, [esp + 0x24]
push eax
push ecx
mov ecx, dword [esi + 0x48]
lea edi, [esi + 4]
push ebp
push ebx
push edi
mov dword [esp + 0x24], ebp
call fcn.00429df0
cmp dword [esp + 0x38], 0x3840
jle 0x42b69a
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x24]
push edx
push ebp
push ebx
push edi
call fcn.00429ce0
cmp dword [esi], 0
jne 0x42c1de
mov eax, dword [esi + 0xc8]
test eax, eax
mov eax, dword [esi + 0x44]
jne 0x42b6c4
pop edi
pop esi
pop ebp
mov dword [eax + 0x8c], 0
pop ebx
add esp, 0x2c
ret 4
cmp word [eax + 0xaa], 0
jle 0x42b6ea
fld dword [0x45af64]
fmul dword [eax + 0x80]
pop edi
pop esi
pop ebp
pop ebx
fstp dword [eax + 0x80]
add esp, 0x2c
ret 4
movsx eax, byte [eax + 0x68]
cdq
and edx, 3
mov ebp, dword [esi + 0x5c]
add eax, edx
sar eax, 2
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0xd4]
push ecx
mov ecx, dword [esi + 0x48]
lea ebx, [edx*4 + 0x45f080]
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x2c], eax
push edx
push edi
call fcn.0042a350
mov ecx, dword [esi + 0xa0]
xor edx, edx
cmp eax, ecx
mov eax, dword [esi + 0xc8]
setg dl
cmp eax, 2
mov dword [esp + 0x34], edx
jne 0x42b753
fld dword [esp + 0x28]
fmul dword [0x45a388]
sar ebp, 1
jmp 0x42b868
mov al, byte [0x46badf]
test al, al
jne 0x42b864
mov eax, dword [0x46ba8c]
mov eax, dword [eax + 0x3c4]
test eax, eax
je 0x42b864
mov ecx, dword [esi + 0x44]
mov edi, dword [eax + 0xc0]
mov ecx, dword [ecx + 0xc0]
sub ecx, edi
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fst dword [esp + 0x18]
fcomp dword [esi + 0xe0]
fnstsw ax
test ah, 0x41
jne 0x42b806
fld dword [esp + 0x18]
fcomp dword [esi + 0xdc]
fnstsw ax
test ah, 0x41
jne 0x42b7c6
fld dword [esi + 0xd8]
fld dword [esi + 0xf4]
call fcn.0043d2c4
mov ebp, eax
jmp 0x42b868
fld dword [esp + 0x18]
fsub dword [esi + 0xe0]
fdiv dword [esi + 0xe4]
fstp dword [esp + 0x28]
fld dword [esi + 0xd4]
fsub dword [esi + 0xd8]
fmul dword [esp + 0x28]
fsubr dword [esi + 0xd4]
fld dword [esp + 0x28]
fmul dword [esi + 0xf8]
call fcn.0043d2c4
mov ebp, dword [esi + 0x5c]
sub ebp, eax
jmp 0x42b868
test edx, edx
jne 0x42b864
neg ecx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fst dword [esp + 0x18]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 0x41
jne 0x42b864
fld dword [esp + 0x18]
fcomp dword [esi + 0xe8]
fnstsw ax
test ah, 0x41
jne 0x42b83e
fld dword [esi + 0xd0]
jmp 0x42b868
fld dword [esp + 0x18]
fsub dword [esi + 0xec]
fdiv dword [esi + 0xf0]
fld dword [esi + 0xd0]
fsub dword [esi + 0xd4]
fmulp st(1)
fadd dword [esi + 0xd4]
jmp 0x42b868
fld dword [esp + 0x28]
mov edx, dword [esi + 0x44]
xor edi, edi
fstp dword [edx + 0x98]
cmp dword [esi + 0x60], edi
je 0x42b8c8
mov eax, dword [esi + 0x6c]
cmp eax, edi
jle 0x42b885
dec eax
mov dword [esi + 0x6c], eax
jmp 0x42b88e
mov eax, dword [esi + 0x70]
mov dword [esi + 0x74], eax
mov dword [esi + 0x60], edi
mov eax, dword [esi + 0x4c]
mov edx, dword [esp + 0x14]
movsx ecx, word [ebx + 0x20]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jg 0x42b8ba
mov eax, dword [esi + 0x50]
mov edx, dword [esp + 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x42b955
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x74], ecx
mov dword [esi + 0x60], edi
jmp 0x42b955
mov eax, dword [esi + 0x74]
cmp eax, edi
jle 0x42b8d3
dec eax
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x58]
cmp eax, edi
jle 0x42b8e0
dec eax
mov dword [esi + 0x58], eax
jmp 0x42b955
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42b941
cmp dword [esi + 0x74], edi
jne 0x42b941
sub eax, dword [esp + 0x14]
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x42b92d
mov eax, dword [esi + 0x50]
mov edx, dword [esp + 0x10]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x42b92d
mov eax, dword [esi + 0xc4]
mov edx, dword [esi + 0x68]
cmp eax, 5
mov dword [esi + 0x6c], edx
jge 0x42b924
inc eax
mov dword [esi + 0xc4], eax
mov dword [esi + 0x60], 1
jmp 0x42b941
mov eax, dword [esi + 0xc4]
cmp eax, edi
jle 0x42b93e
dec eax
mov dword [esi + 0xc4], eax
mov dword [esi + 0x60], edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x54]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov dword [esi + 0x58], edx
mov eax, dword [esi + 0x44]
fld dword [0x45af68]
fmul dword [eax + 0xc]
fcom dword [0x45a378]
fnstsw ax
test ah, 0x41
jne 0x42b976
fadd dword [0x45a388]
jmp 0x42b97c
fsub dword [0x45a388]
call fcn.0043d2c4
push eax
call fcn.00429380
movsx ecx, word [ebx + 0x20]
mov edi, dword [esi + 0x44]
mov dword [esp + 0x34], ecx
fild dword [esp + 0x34]
add esp, 4
mov dword [esp + 0x28], eax
fld st(0)
fmul dword [edi + 0x10]
call fcn.0043d2c4
fmul dword [edi + 0x14]
mov dword [esp + 0x30], eax
call fcn.0043d2c4
mov edx, dword [0x46ba8c]
xor ebx, ebx
add edx, 0x2c0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 4
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax]
mov eax, dword [esi + 0x44]
cmp ebp, eax
je 0x42ba34
fld dword [ebp + 4]
call fcn.0043d2c4
mov edx, dword [esp + 0x14]
mov edi, eax
fld dword [ebp + 8]
sub edi, edx
call fcn.0043d2c4
mov ecx, dword [esp + 0x10]
mov edx, edi
imul edx, dword [esp + 0x30]
sub eax, ecx
mov ecx, eax
imul ecx, dword [esp + 0x2c]
add ecx, edx
test ecx, ecx
jle 0x42ba34
mov ecx, edi
imul eax, eax
imul ecx, edi
add eax, ecx
mov ecx, dword [esi + 0xc0]
cmp eax, ecx
jge 0x42ba34
test ebx, ebx
je 0x42ba2e
cmp eax, dword [esp + 0x18]
jge 0x42ba34
mov dword [esp + 0x18], eax
mov ebx, ebp
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add ecx, 4
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jne 0x42b9d1
test ebx, ebx
je 0x42ba8e
fld dword [ebx + 4]
call fcn.0043d2c4
fld dword [ebx + 8]
mov edi, eax
call fcn.0043d2c4
lea ecx, [esi + 4]
push ecx
mov ecx, dword [esi + 0x48]
push eax
push edi
call fcn.0042a190
mov ecx, dword [esi + 0x48]
push eax
call fcn.0042a2f0
mov edx, dword [esi + 0x48]
mov dword [esi + 0xb0], eax
mov ecx, dword [edx + 0x18]
mov edx, dword [ecx + eax*4]
mov dword [esi + 0x2c], edx
jmp 0x42bb6c
mov eax, dword [esp + 0x34]
test eax, eax
je 0x42baa2
mov dword [esi + 0x2c], 0
jmp 0x42bb6c
mov eax, dword [esi + 0xb4]
test eax, eax
jle 0x42bab8
dec eax
mov dword [esi + 0xb4], eax
jmp 0x42bb5a
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x46eaec]
lea edx, [eax + eax*2]
lea edx, [eax + edx*4]
shl edx, 4
add edx, eax
shl edx, 8
sub edx, eax
lea eax, [eax + edx*4 + 0x269ec3]
mov dword [0x46eaec], eax
sar eax, 0x10
and eax, 0x7fff
imul eax, ecx
mov ecx, eax
mov eax, 0x80010003
imul ecx
add edx, ecx
mov ecx, dword [esi + 0xbc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esi + 0xb0], edx
mov eax, dword [0x46eaec]
lea edx, [eax + eax*2]
lea edx, [eax + edx*4]
shl edx, 4
add edx, eax
shl edx, 8
sub edx, eax
lea eax, [eax + edx*4 + 0x269ec3]
mov dword [0x46eaec], eax
sar eax, 0x10
and eax, 0x7fff
imul eax, ecx
mov ecx, eax
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0xb8]
add edx, eax
mov dword [esi + 0xb4], edx
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0xb0]
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + ecx*4]
mov dword [esi + 0x2c], ecx
mov eax, dword [esi + 0x60]
lea edi, [esi + 0x20]
lea ebp, [esi + 0x1c]
push edi
test eax, eax
push ebp
je 0x42bbae
mov ecx, dword [esi + 0xc4]
mov eax, 0x66666667
shl ecx, 1
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
mov edx, dword [esi + 0x28]
imul ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
lea edx, [esi + 0x10]
push ecx
push edx
jmp 0x42bbc4
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
lea ecx, [esi + 0x10]
push eax
push ecx
mov ecx, dword [esi + 0x48]
call fcn.00429f20
mov ecx, dword [esi + 0x44]
fld dword [ecx + 0x14]
fmul dword [ecx + 0x44]
fld dword [ecx + 0x10]
fmul dword [ecx + 0x40]
faddp st(1)
fcomp dword [0x45afac]
fld dword [ecx + 0x44]
fld dword [ecx + 0x40]
fld st(0)
fmul st(1)
fld st(2)
fnstsw ax
fmul st(3)
test ah, 1
faddp st(1)
je 0x42bbfc
fchs
mov edx, dword [edi]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov eax, dword [ebp]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub edx, ebx
sub edx, edi
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x30]
sub eax, edx
fstp st(0)
sub eax, ecx
fstp st(0)
fild dword [esp + 0x2c]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fpatan
fmul dword [0x45af68]
fcom dword [0x45a378]
fnstsw ax
test ah, 0x41
jne 0x42bc4e
fadd dword [0x45a388]
jmp 0x42bc54
fsub dword [0x45a388]
call fcn.0043d2c4
push eax
call fcn.00429380
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.00429350
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x78]
mov edi, eax
add esp, 0xc
mov al, byte [ecx + 0xa4]
mov dword [esp + 0x1c], edi
movsx ebx, al
cmp ebx, edx
je 0x42bc91
cmp al, 0xff
je 0x42bc91
mov dword [esi + 0x64], 0x32
mov eax, dword [esi + 0x64]
xor ebx, ebx
cmp eax, ebx
jle 0x42bca3
dec eax
mov dword [esi + 0x64], eax
jmp case.default.0x42bcc0
cmp dword [esi + 0xc8], 1
jne case.default.0x42bcc0
movsx eax, byte [ecx + 0xa4]
cmp eax, 3
ja case.default.0x42bcc0
jmp dword [eax*4 + 0x42c1e8]
mov dword [esp + 0x20], 0x2c0
mov edx, dword [0x46ba8c]
mov eax, dword [esp + 0x20]
mov ebp, dword [esi + 0x44]
mov edi, dword [eax + edx]
cmp edi, ebp
je 0x42bd33
fld dword [edi + 4]
call fcn.0043d2c4
fld dword [edi + 8]
mov ebx, eax
call fcn.0043d2c4
movsx ecx, byte [ebp + 0xa5]
dec ecx
mov edi, dword [esi + 0xa8]
imul ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xa4]
add ecx, edi
push ecx
mov ecx, dword [esp + 0x2c]
push 0
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x28]
push ebx
push edx
push eax
call fcn.00429630
add esp, 0x20
test eax, eax
jne 0x42bd50
mov eax, dword [esp + 0x20]
add eax, 4
cmp eax, 0x2d0
mov dword [esp + 0x20], eax
jl 0x42bccf
mov edi, dword [esp + 0x1c]
xor ebx, ebx
jmp case.default.0x42bcc0
mov ecx, dword [esi + 0x44]
push ecx
mov ecx, dword [0x46ba8c]
call fcn.00406150
mov edi, dword [esp + 0x1c]
xor ebx, ebx
jmp case.default.0x42bcc0
cmp dword [esi + 0x60], ebx
jne case.default.0x42bcc0
fld dword [esp + 0x18]
fcomp dword [0x45a378]
fnstsw ax
test ah, 0x41
jne case.default.0x42bcc0
cmp dword [esp + 0x34], ebx
jne case.default.0x42bcc0
push ecx
jmp 0x42bebc
cmp edx, 3
je 0x42bdf2
mov eax, dword [0x46eaec]
mov ecx, dword [esi + 0x98]
lea edx, [eax + eax*2]
lea edx, [eax + edx*4]
shl edx, 4
add edx, eax
shl edx, 8
sub edx, eax
lea eax, [eax + edx*4 + 0x269ec3]
mov dword [0x46eaec], eax
sar eax, 0x10
and eax, 0x7fff
imul eax, ecx
mov ecx, eax
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x94]
add edx, eax
mov dword [esi + 0x90], edx
cmp dword [esi + 0x60], ebx
jne case.default.0x42bcc0
fld dword [esp + 0x18]
fcomp dword [0x45a378]
fnstsw ax
test ah, 0x41
jne case.default.0x42bcc0
mov eax, dword [esi + 0x90]
cmp eax, ebx
jle 0x42beb8
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x7c]
dec eax
push ecx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x90], eax
lea eax, [esi + 4]
push edx
push eax
call fcn.0042a350
cmp eax, dword [esi + 0x80]
jle 0x42be48
mov eax, dword [esi + 0x44]
push eax
jmp 0x42bebc
mov ebx, 0x2c0
mov ecx, dword [0x46ba8c]
mov eax, dword [esi + 0x44]
mov edi, dword [ebx + ecx]
cmp edi, eax
je 0x42bea5
fld dword [edi + 4]
call fcn.0043d2c4
fld dword [edi + 8]
mov ebp, eax
call fcn.0043d2c4
mov edx, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push edx
mov edx, dword [esi + 0x84]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x28]
push ebp
push edx
push eax
call fcn.00429630
add esp, 0x20
test eax, eax
jne 0x42bd50
add ebx, 4
cmp ebx, 0x2d0
jl 0x42be4d
mov edi, dword [esp + 0x1c]
xor ebx, ebx
jmp case.default.0x42bcc0
mov edx, dword [esi + 0x44]
push edx
mov ecx, dword [0x46ba8c]
call fcn.00406150
mov ecx, dword [esi + 0x44]
movsx eax, byte [ecx + 0xa4]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x60]
cmp eax, ebx
mov eax, dword [esi + 0x40]
je 0x42bf6c
mov edx, eax
neg edx
cmp edi, edx
jge 0x42bf13
fld dword [ecx + 0x80]
fcomp dword [0x45a378]
fnstsw ax
test ah, 1
je 0x42bf05
mov dword [ecx + 0x80], ebx
jmp 0x42bf52
fld dword [ecx + 0x84]
fadd dword [ecx + 0x80]
jmp 0x42bf4c
cmp edi, eax
jle 0x42bf40
fld dword [ecx + 0x80]
fcomp dword [0x45a378]
fnstsw ax
test ah, 0x41
jne 0x42bf32
mov dword [ecx + 0x80], ebx
jmp 0x42bf52
fld dword [ecx + 0x80]
fsub dword [ecx + 0x84]
jmp 0x42bf4c
fld dword [0x45af64]
fmul dword [ecx + 0x80]
fstp dword [ecx + 0x80]
mov eax, dword [esi + 0x44]
fld dword [eax + 0x8c]
fsub dword [eax + 0x94]
fstp dword [eax + 0x8c]
jmp 0x42c115
cmp edi, eax
jle 0x42c026
cmp edi, dword [esi + 0x30]
jl 0x42bfd2
fld dword [esp + 0x18]
fcomp dword [esi + 0x34]
fnstsw ax
test ah, 1
jne 0x42bfd2
cmp edi, dword [esi + 0x38]
jg 0x42bfb4
fld dword [esp + 0x18]
fcomp dword [esi + 0x3c]
fnstsw ax
test ah, 0x41
je 0x42bfb4
fld dword [0x45af60]
fmul dword [ecx + 0x8c]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], ebx
jmp 0x42bfee
fld dword [ecx + 0x8c]
fsub dword [ecx + 0x94]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], 0xffffffff
jmp 0x42bfee
fld dword [ecx + 0x90]
fadd dword [ecx + 0x8c]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], 1
mov ecx, dword [esi + 0x44]
fld dword [ecx + 0x80]
fcomp dword [0x45a378]
fnstsw ax
test ah, 1
je 0x42c00f
mov dword [ecx + 0x80], ebx
jmp 0x42c115
fld dword [ecx + 0x84]
fadd dword [ecx + 0x80]
fstp dword [ecx + 0x80]
jmp 0x42c115
neg eax
cmp edi, eax
jge 0x42c0e4
mov eax, dword [esi + 0x30]
neg eax
cmp edi, eax
jg 0x42c096
fld dword [esp + 0x18]
fcomp dword [esi + 0x34]
fnstsw ax
test ah, 1
jne 0x42c096
mov edx, dword [esi + 0x38]
neg edx
cmp edi, edx
jl 0x42c078
fld dword [esp + 0x18]
fcomp dword [esi + 0x3c]
fnstsw ax
test ah, 0x41
je 0x42c078
fld dword [0x45af60]
fmul dword [ecx + 0x8c]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], ebx
jmp 0x42c0b2
fld dword [ecx + 0x8c]
fsub dword [ecx + 0x94]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], 0xffffffff
jmp 0x42c0b2
fld dword [ecx + 0x90]
fadd dword [ecx + 0x8c]
fstp dword [ecx + 0x8c]
mov dword [esi + 0xcc], 1
mov ecx, dword [esi + 0x44]
fld dword [ecx + 0x80]
fcomp dword [0x45a378]
fnstsw ax
test ah, 0x41
jne 0x42c0d0
mov dword [ecx + 0x80], ebx
jmp 0x42c115
fld dword [ecx + 0x80]
fsub dword [ecx + 0x84]
fstp dword [ecx + 0x80]
jmp 0x42c115
fld dword [0x45af64]
fmul dword [ecx + 0x80]
fstp dword [ecx + 0x80]
mov eax, dword [esi + 0x44]
fld dword [eax + 0x90]
fadd dword [eax + 0x8c]
fstp dword [eax + 0x8c]
mov dword [esi + 0xcc], 1
cmp dword [esi + 0xc4], 5
jl 0x42c1de
mov al, byte [0x46badf]
test al, al
jne 0x42c1de
mov edi, dword [esi + 0x44]
fld dword [edi + 4]
fcom dword [0x45a378]
mov eax, dword [edi + 8]
mov dword [esp + 0x28], eax
fnstsw ax
test ah, 0x41
jne 0x42c151
fadd dword [0x45a388]
jmp 0x42c157
fsub dword [0x45a388]
call fcn.0043d2c4
fld dword [esp + 0x28]
fcomp dword [0x45a378]
fld dword [esp + 0x28]
mov ebp, eax
fnstsw ax
test ah, 0x41
jne 0x42c17b
fadd dword [0x45a388]
jmp 0x42c181
fsub dword [0x45a388]
call fcn.0043d2c4
mov edx, dword [esp + 0x40]
xor ecx, ecx
mov cl, byte [edi + 0x5e]
lea ebx, [ecx + ebp]
cmp dword [edx + 8], ebx
jge 0x42c1b1
lea ebx, [eax + ecx]
cmp dword [edx + 0xc], ebx
jge 0x42c1b1
mov ebx, dword [edx + 0x10]
sub ebp, ecx
cmp ebp, ebx
jge 0x42c1b1
sub eax, ecx
mov ecx, dword [edx + 0x14]
cmp eax, ecx
jl 0x42c1de
fild dword [esi + 0x20]
fild dword [esi + 0x1c]
fstp dword [edi + 4]
fstp dword [edi + 8]
mov ecx, dword [esi + 0x44]
call fcn.004010f0
mov ecx, dword [esi + 0x44]
push ecx
mov ecx, dword [0x46ba8c]
call fcn.00407820
mov dword [esi + 0xc4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 4