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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x7c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x7c]
mov esi, ecx
mov dword [ebx], 0
mov dword [edi], 0
cmp word [esi + 0x2c], 0
jne 0x429462
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x54
ret 0x24
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esi + edx*4 + 0x10]
call fcn.0043e010
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
fld dword [esp + 0x2c]
fcomp qword [0x5cb1a8]
fnstsw ax
test ah, 0x41
jne 0x4294bc
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + 0x34]
cmp word [edx + 0x304], 0
jne 0x4294bc
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x54
ret 0x24
fld dword [esp + 0x2c]
fcomp dword [0x5cb3b0]
fnstsw ax
test ah, 1
jne 0x4294f7
fld dword [esp + 0x2c]
fcomp dword [0x5c9afc]
fnstsw ax
test ah, 0x41
je 0x4294f7
cmp word [esp + 0x84], 0
je 0x4294f7
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x54
ret 0x24
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x34]
add ecx, 0x1e8
cmp word [esp + 0x70], 0
mov ebp, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x58], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x5c], eax
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x60], ecx
je 0x42978e
test bp, bp
je 0x42978e
movsx eax, bp
dec eax
je 0x4296b3
dec eax
je 0x429628
dec eax
jne 0x42973b
fld dword [esp + 0x24]
fabs
fld dword [esp + 0x58]
fmul dword [0x5cb160]
fsubp st(1)
fld st(0)
fcomp dword [0x5cad98]
fnstsw ax
test ah, 1
je 0x429570
fstp st(0)
fld dword [0x5cad98]
fld dword [esp + 0x28]
fabs
fld dword [esp + 0x5c]
fmul dword [0x5cb160]
fsubp st(1)
fld st(0)
fcomp dword [0x5cad98]
fnstsw ax
test ah, 1
je 0x429599
fstp st(0)
fld dword [0x5cad98]
fld dword [esp + 0x2c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp dword [esp + 0x84]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x84]
fcomp dword [0x5cad98]
fnstsw ax
test ah, 0x40
je 0x4295db
mov dword [esp + 0x84], 0x34000000
fld dword [esp + 0x58]
fmul dword [0x5cb3ac]
sub esp, 8
fdiv dword [esp + 0x8c]
fadd dword [0x5cb15c]
fstp qword [esp]
call fcn.0056c5d5
fstp dword [esp + 0x78]
fld dword [esp + 0x64]
fmul dword [0x5cb3ac]
fdiv dword [esp + 0x8c]
fadd dword [0x5cb15c]
fstp qword [esp]
call fcn.0056c5d5
add esp, 8
jmp 0x429742
fld dword [esp + 0x28]
fld st(0)
fmulp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fsqrt
fld dword [esp + 0x58]
fmul dword [0x5cb160]
fsubp st(1)
fcom dword [0x5cad98]
fnstsw ax
test ah, 0x41
je 0x42965f
fstp st(0)
fld dword [esp + 0x2c]
fabs
jmp 0x429673
fld dword [esp + 0x2c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcom dword [0x5cad98]
fnstsw ax
test ah, 0x40
je 0x429688
fstp st(0)
fld dword [0x5c9afc]
fld dword [esp + 0x58]
fmul dword [0x5cb3ac]
sub esp, 8
fdiv st(1)
fadd dword [0x5cb15c]
fstp qword [esp]
fstp st(0)
call fcn.0056c5d5
fst dword [esp + 0x78]
add esp, 8
jmp 0x429742
fld dword [esp + 0x28]
fld st(0)
fmulp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fsqrt
fld dword [esp + 0x58]
fmul dword [0x5cb160]
fsubp st(1)
fcom dword [0x5cad98]
fnstsw ax
test ah, 0x41
je 0x4296ea
fstp st(0)
fld dword [esp + 0x2c]
fabs
jmp 0x4296fe
fld dword [esp + 0x2c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcom dword [0x5cad98]
fnstsw ax
test ah, 0x40
je 0x429713
fstp st(0)
fld dword [0x5c9afc]
fld dword [esp + 0x58]
fmul dword [0x5cb3ac]
sub esp, 8
fdiv st(1)
fadd dword [0x5cb15c]
fstp qword [esp]
fstp st(0)
call fcn.0056c5d5
fst dword [esp + 0x78]
add esp, 8
jmp 0x429742
fld dword [esp + 0x84]
fld st(0)
fmul dword [esp + 0x70]
fcomp dword [0x5cb3a8]
fnstsw ax
test ah, 0x41
je 0x429837
fld dword [esp + 0x70]
mov ebx, 1
call fcn.0056b454
mov dword [esp + 0x84], eax
call fcn.0056b454
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
cmp ecx, ebx
jne 0x4298c0
cmp eax, ebx
jne 0x4298c0
lea ecx, [esp + 0x3c]
call fcn.00479c40
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, dword [esi + 0x24]
call fcn.00437c40
mov ebx, eax
test bx, bx
je 0x4298a6
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x84]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x8c], 0x3f800000
call fcn.004293f0
mov ecx, dword [esp + 0x70]
push eax
push ecx
mov ecx, dword [esp + 0x84]
call fcn.004279c0
test ax, ax
mov eax, dword [edi]
je 0x42984c
mov ecx, dword [esp + 0x80]
lea edx, [eax + eax*2]
inc eax
lea ebp, [ecx + edx*4]
mov ecx, dword [esp + 0x68]
mov dword [edi], eax
lea edx, [esp + 0x3c]
mov ecx, dword [esi + ecx*4 + 0x10]
lea eax, [esp + 0x30]
push edx
push eax
call fcn.0043e070
movsx edx, word [esi + 0x2c]
mov dword [esp + 0x70], edx
push eax
fild dword [esp + 0x74]
push ecx
lea eax, [esp + 0x50]
fmul dword [esp + 0x8c]
fstp dword [esp]
push eax
jmp 0x429889
pop edi
pop esi
mov dword [ebx], 2
pop ebp
fstp st(0)
xor ax, ax
pop ebx
add esp, 0x54
ret 0x24
mov edx, dword [esp + 0x80]
lea ecx, [eax + eax*2]
inc eax
mov dword [edi], eax
lea ebp, [edx + ecx*4]
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, dword [esi + edx*4 + 0x10]
call fcn.0043e070
push eax
push ecx
movsx eax, word [esi + 0x2c]
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x38]
fild dword [esp + 0x78]
fstp dword [esp]
push ecx
call fcn.0041e7f0
add esp, 0xc
mov ecx, ebp
push eax
call fcn.0041e610
pop edi
pop esi
mov ax, bx
pop ebp
pop ebx
add esp, 0x54
ret 0x24
mov edx, dword [esp + 0x88]
pop edi
pop esi
mov ax, bx
pop ebp
mov dword [edx], 1
pop ebx
add esp, 0x54
ret 0x24
fld dword [esp + 0x2c]
sub esp, 8
lea ecx, [esp + 0x38]
fstp qword [esp]
push 0
push 0
push 0
push 0
call fcn.0041e260
cmp bp, 3
jne 0x429a44
fild dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
test eax, eax
fdivr dword [esp + 0x58]
fstp dword [esp + 0x10]
fild dword [esp + 0x7c]
fdivr dword [esp + 0x5c]
fstp dword [esp + 0x70]
fld dword [esp + 0x10]
fadd dword [esp + 0x58]
fmul dword [0x5cb160]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fld dword [esp + 0x70]
fadd dword [esp + 0x5c]
fmul dword [0x5cb160]
fsubp st(1)
fstp dword [esp + 0x34]
jle 0x429bfd
test bx, bx
je 0x429c84
fld dword [esp + 0x34]
fadd dword [esp + 0x70]
fstp dword [esp + 0x34]
fld dword [esp + 0x24]
fsub dword [esp + 0x20]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], 0
test eax, eax
fstp dword [esp + 0x30]
jle 0x429a2a
test bx, bx
je 0x429a2a
mov eax, dword [edi]
fld dword [esp + 0x30]
lea ecx, [eax + 1]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x80]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
fadd dword [esp + 0x10]
fstp dword [esp + 0x30]
lea ebp, [eax + edx*4]
lea edx, [esp + 0x30]
push ebp
push ecx
mov ecx, dword [esi + 0x24]
push edx
call fcn.00437c40
mov ebx, eax
test bx, bx
jne 0x4299c8
mov eax, dword [esp + 0x88]
mov dword [eax], 1
jmp 0x429a12
lea ecx, [esp + 0x14]
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x4c]
push edx
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x24], 0x3f800000
call fcn.004293f0
mov ecx, eax
call fcn.0043dfb0
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
push eax
push edx
call fcn.004279c0
test ax, ax
je 0x429a12
mov eax, dword [esp + 0x14]
mov ecx, ebp
push eax
call fcn.0041e690
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x429976
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x42993e
jmp 0x429bf4
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x54]
call fcn.0041e260
fild dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], 0
test eax, eax
fdivr dword [esp + 0x58]
fst dword [esp + 0x70]
fadd dword [esp + 0x58]
fmul dword [0x5cb160]
fstp dword [esp + 0x10]
fld dword [esp + 0x58]
fmul dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
fmul dword [0x5cb2bc]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fsub dword [esp + 0x10]
fstp dword [esp + 0x34]
jle 0x429bfd
test bx, bx
je 0x429c84
fld dword [esp + 0x40]
fsub dword [esp + 0x70]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fsub dword [esp + 0x10]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], 0
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fadd dword [esp + 0x70]
fstp dword [esp + 0x34]
jle 0x429bdf
test bx, bx
je 0x429bdf
fld dword [esp + 0x3c]
fsub dword [esp + 0x70]
fstp dword [esp + 0x3c]
fld dword [esp + 0x30]
fadd dword [esp + 0x70]
fstp dword [esp + 0x30]
fld dword [esp + 0x40]
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
fld st(1)
fmul st(2)
faddp st(1)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
fstp st(0)
je 0x429bc7
mov eax, dword [edi]
lea ecx, [eax + 1]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x80]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
lea ebp, [eax + edx*4]
lea edx, [esp + 0x30]
push ebp
push ecx
mov ecx, dword [esi + 0x24]
push edx
call fcn.00437c40
mov ebx, eax
test bx, bx
jne 0x429b7d
mov eax, dword [esp + 0x88]
mov dword [eax], 1
jmp 0x429bc7
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x4c]
push edx
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x2c], 0x3f800000
call fcn.004293f0
mov ecx, eax
call fcn.0043dfb0
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
push eax
push edx
call fcn.004279c0
test ax, ax
je 0x429bc7
mov eax, dword [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.0041e690
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x429afc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x429ab0
test bx, bx
je 0x429c84
mov eax, dword [edi]
mov dword [esp + 0x84], 0
test eax, eax
mov dword [esp + 0x70], eax
jle 0x429c84
mov ebp, dword [esp + 0x80]
fild dword [esp + 0x70]
mov edx, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x4c]
fstp dword [esp]
push ebp
push ecx
mov ecx, dword [esi + edx*4 + 0x10]
call fcn.0043e070
push eax
push ecx
movsx eax, word [esi + 0x2c]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x7c]
fstp dword [esp]
push ecx
call fcn.0041e7f0
add esp, 0xc
lea edx, [esp + 0x58]
push eax
push edx
call fcn.0041e900
add esp, 0xc
mov ecx, ebp
push eax
call fcn.0041e610
mov ecx, dword [esp + 0x84]
mov eax, dword [edi]
inc ecx
add ebp, 0xc
cmp ecx, eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x70], eax
jl 0x429c19
pop edi
pop esi
mov ax, bx
pop ebp
pop ebx
add esp, 0x54
ret 0x24