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

Disassembly:
sub esp, 0x84
push ebp
push esi
mov esi, dword [esp + 0x90]
push edi
mov edi, dword [esp + 0x98]
cmp byte [edi + 0x3ba], 3
jne 0x426384
push 0
push 0xffffffffffffffff
call fcn.0056e0d0
add esp, 8
cmp esi, eax
je 0x42695c
mov al, byte [edi + 0x3ba]
cmp al, 0x10
jne 0x42639a
cmp esi, dword [edi + 0x41c]
je 0x42695c
cmp al, 0x35
jne 0x4263c2
cmp esi, dword [edi + 0x41c]
je 0x42695c
mov cl, byte [esi + 0x36]
and cl, 7
cmp cl, 2
jne 0x4263c2
test byte [esi + 0x42b], 8
jne 0x42695c
cmp al, 0x37
jne 0x4263ee
mov dl, byte [esi + 0x36]
and dl, 7
cmp dl, 3
jne 0x4263ee
mov eax, dword [esi + 0x46c]
test ah, 1
je 0x4263ee
mov eax, dword [esi + 0x58c]
cmp eax, dword [edi + 0x41c]
je 0x42695c
mov al, byte [esi + 0x3ba]
cmp al, 0x1d
je 0x42640c
cmp al, 0x1e
je 0x42640c
cmp al, 0x20
je 0x42640c
cmp al, 0x1f
je 0x42640c
cmp al, 0x1b
je 0x42640c
cmp al, 0x1c
jne 0x426418
cmp dword [esi + 0x41c], edi
je 0x42695c
mov eax, dword [esi + 0x14]
test eax, eax
push ebx
lea ebx, [eax + 0x30]
jne 0x426426
lea ebx, [esi + 4]
mov ecx, dword [edi + 0x14]
test ecx, ecx
lea edx, [ecx + 0x30]
jne 0x426433
lea edx, [edi + 4]
test eax, eax
fld dword [ebx]
fsub dword [edx]
lea edx, [eax + 0x30]
fstp dword [esp + 0x14]
jne 0x426445
lea edx, [esi + 4]
test ecx, ecx
lea eax, [ecx + 0x30]
jne 0x42644f
lea eax, [edi + 4]
fld dword [edx + 4]
fsub dword [eax + 4]
fst dword [esp + 0x3c]
fmul dword [ecx + 0x14]
fld dword [esp + 0x14]
fmul dword [ecx + 0x10]
faddp st(1)
fcom dword [0x858b50]
fnstsw ax
test ah, 5
jnp 0x426959
fld dword [esp + 0x3c]
movsx edx, word [edi + 0x22]
fmul dword [ecx + 4]
fld dword [esp + 0x14]
fmul dword [ecx]
faddp st(1)
fstp dword [esp + 0x10]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
mov eax, dword [edx*4 + 0xa9b0c8]
mov eax, dword [eax + 0x14]
lea edx, [esp + 0x4c]
push edx
push ecx
jne 0x4264b5
fld dword [eax + 0x10]
fadd dword [0x858cc4]
jmp 0x4264be
fld dword [eax + 4]
fsub dword [0x858cc4]
fld dword [eax]
lea eax, [esp + 0x48]
fsub dword [0x858cc4]
push eax
mov dword [esp + 0x60], 0
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
call fcn.0059c890
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x64], ecx
movsx ecx, word [edi + 0x22]
mov dword [esp + 0x68], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x14]
add esp, 0xc
lea ecx, [esp + 0x18]
fld dword [eax + 0xc]
push ecx
fadd dword [0x858cc4]
lea edx, [esp + 0x44]
fsub dword [eax]
mov eax, dword [edi + 0x14]
push eax
push edx
fsub dword [0x858cc4]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
fstp dword [esp + 0x24]
call fcn.0059c790
mov ecx, dword [eax]
fld dword [0x858b50]
mov edx, dword [eax + 4]
fld dword [esp + 0x1c]
mov eax, dword [eax + 8]
fcomp st(1)
mov dword [esp + 0x58], ecx
movsx ecx, word [edi + 0x22]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
fnstsw ax
add esp, 0xc
test ah, 0x41
mov eax, dword [edx + 0x14]
lea ecx, [esp + 0x18]
push ecx
fld dword [eax + 4]
lea edx, [esp + 0x44]
fsub dword [0x858cc4]
jne 0x426592
fld dword [eax + 0xc]
fadd dword [0x858cc4]
jmp 0x42659a
fld dword [eax]
fsub dword [0x858cc4]
mov eax, dword [edi + 0x14]
fstp dword [esp + 0x1c]
push eax
fstp dword [esp + 0x24]
push edx
fstp dword [esp + 0x2c]
call fcn.0059c890
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x7c], ecx
movsx ecx, word [edi + 0x22]
mov dword [esp + 0x80], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
mov dword [esp + 0x84], eax
mov eax, dword [edx + 0x14]
add esp, 0xc
lea ecx, [esp + 0x30]
fld dword [eax + 0x10]
push ecx
fadd dword [0x858cc4]
lea edx, [esp + 0x44]
fsub dword [eax + 4]
mov eax, dword [edi + 0x14]
push eax
push edx
fsub dword [0x858cc4]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
fstp dword [esp + 0x40]
call fcn.0059c790
mov ecx, dword [eax]
fld dword [esp + 0x48]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0x14]
dec esi
adc al, 0xd8
dec ecx
add al, 0x89
inc esp
and al, 0x2c
fld dword [esp + 0x20]
mov dword [esp + 0x28], edx
fmul dword [ecx]
movsx edx, word [esi + 0x22]
add esp, 0xc
faddp st(1)
fstp dword [esp + 0x10]
fld dword [0x858b50]
fld dword [esp + 0x3c]
fmul dword [ecx + 0x14]
fld dword [esp + 0x14]
fmul dword [ecx + 0x10]
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 5
mov eax, dword [edx*4 + 0xa9b0c8]
mov eax, dword [eax + 0x14]
lea edx, [esp + 0x30]
push edx
push ecx
jp 0x42667f
fld dword [eax + 0x10]
fadd dword [0x858cc4]
jmp 0x426688
fld dword [eax + 4]
fsub dword [0x858cc4]
fld dword [eax]
lea eax, [esp + 0x48]
fsub dword [0x858cc4]
push eax
fstp dword [esp + 0x3c]
fstp dword [esp + 0x40]
fstp dword [esp + 0x44]
call fcn.0059c890
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], ecx
movsx ecx, word [esi + 0x22]
mov dword [esp + 0x74], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x14]
add esp, 0xc
lea ecx, [esp + 0x24]
fld dword [eax + 0xc]
push ecx
fadd dword [0x858cc4]
lea edx, [esp + 0x44]
fsub dword [eax]
mov eax, dword [esi + 0x14]
push eax
push edx
fsub dword [0x858cc4]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
fstp dword [esp + 0x30]
call fcn.0059c790
mov ecx, dword [eax]
fld dword [0x858b50]
mov edx, dword [eax + 4]
fld dword [esp + 0x1c]
mov eax, dword [eax + 8]
fcomp st(1)
mov dword [esp + 0x3c], ecx
movsx ecx, word [esi + 0x22]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
fnstsw ax
add esp, 0xc
test ah, 5
mov eax, dword [edx + 0x14]
lea ecx, [esp + 0x24]
push ecx
fld dword [eax + 4]
lea edx, [esp + 0x44]
fsub dword [0x858cc4]
jp 0x426758
fld dword [eax + 0xc]
fadd dword [0x858cc4]
jmp 0x426760
fld dword [eax]
fsub dword [0x858cc4]
mov eax, dword [esi + 0x14]
fstp dword [esp + 0x28]
push eax
fstp dword [esp + 0x30]
push edx
fstp dword [esp + 0x38]
call fcn.0059c890
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x88], ecx
movsx ecx, word [esi + 0x22]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
mov dword [esp + 0x90], eax
mov eax, dword [edx + 0x14]
add esp, 0xc
lea ecx, [esp + 0x40]
fld dword [eax + 0x10]
push ecx
fadd dword [0x858cc4]
lea edx, [esp + 0x8c]
fsub dword [eax + 4]
mov eax, dword [esi + 0x14]
push eax
push edx
fsub dword [0x858cc4]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], 0
fstp dword [esp + 0x50]
call fcn.0059c790
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], ecx
movsx ecx, word [edi + 0x22]
mov dword [esp + 0x34], edx
mov edx, dword [ecx*4 + 0xa9b0c8]
movsx ecx, word [esi + 0x22]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x14]
mov edx, dword [ecx*4 + 0xa9b0c8]
mov ecx, dword [edx + 0x14]
fld dword [eax + 0xc]
add esp, 0xc
mov byte [esp + 0x10], 0
fcomp dword [ecx + 0xc]
fnstsw ax
test ah, 5
jp 0x42682a
mov byte [esp + 0x10], 1
fld dword [edi + 0x48]
xor ebx, ebx
fld dword [edi + 0x44]
mov edi, dword [esp + 0xa0]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fstp dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
push edx
push ebp
push eax
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.00421a50
add esp, 0x34
test al, al
je 0x4268cb
fld dword [edi]
inc ebx
fsub dword [0x858fac]
fcom dword [0x858b50]
fst dword [edi]
fnstsw ax
test ah, 5
jp 0x4268c4
fadd dword [0x858cbc]
fstp dword [edi]
jmp 0x4268c6
fstp st(0)
cmp ebx, 8
jl 0x426851
mov edi, dword [esp + 0xa4]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
push edx
push ebp
push eax
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.00421a50
add esp, 0x34
test al, al
je 0x42695b
fld dword [edi]
inc ebx
fadd dword [0x858fac]
fcom dword [0x858cbc]
fst dword [edi]
fnstsw ax
test ah, 0x41
jne 0x426947
fsub dword [0x858cbc]
fstp dword [edi]
jmp 0x426949
fstp st(0)
cmp ebx, 8
jl 0x4268d4
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x84
ret
fstp st(0)
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x84
ret