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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [edx]
mov ebx, dword [ecx + 0x484]
mov dword [esp + 0x50], edx
test ebx, ebx
jle 0x42967e
shl edx, 2
add ecx, 0x888
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], 0
lea esi, [esi]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x90]
mov eax, dword [ebx - 0x400]
shl eax, 2
add ecx, eax
mov edx, dword [ecx]
test edx, edx
je 0x429699
mov edx, dword [ebx]
shl edx, 2
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x4c]
mov edi, dword [edi + eax]
mov ebx, dword [ebx + edx]
add ebp, edi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x18], ebx
add ebx, esi
mov edx, dword [edi + edx]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [edi + eax]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + edx*4 + 0xfc]
add edx, 0x4c
fld qword [eax*8 + 0x58fae0]
mov eax, dword [ebx + edx*4 + 8]
mov ebx, dword [esp + 0x78]
mov ebx, dword [ebx + 4]
fld qword [eax*8 + 0x58fae0]
mov edi, dword [ebx + 0x1f8]
mov dword [esp + 0x44], ebx
test edi, edi
je 0x4296b5
mov edi, dword [ebx + 0x200]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov ebx, dword [edi]
mov edi, dword [esp + 0x74]
mov eax, ebx
shl eax, 4
sub eax, ebx
mov ebx, dword [esp + 0x70]
cmp dword [esp + 0x50], 0x3e8
lea eax, [ebx + eax + 0x20]
mov ebx, dword [esp + 0x90]
mov eax, dword [edi + eax*4 + 4]
mov dword [ecx], 1
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov dword [ebx + eax*4], 1
jle 0x429273
fstp st(0)
mov edi, dword [esp + 0x74]
mov eax, dword [edi + edx*4 + 8]
fld qword [eax*8 + 0x58fb40]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], 0
fstp dword [esp + 0x34]
mov eax, dword [edx]
test eax, eax
jle 0x429654
lea esi, [esi]
mov edi, dword [esp + 0x10]
fldz
test edi, edi
jle 0x429550
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov edx, ecx
mov dword [esp + 4], ebx
shl edx, 2
jmp 0x4293ef
cmp dword [esp + 0x1c], ecx
jle 0x4294c0
mov ebx, dword [esp + 0x24]
fld dword [ebx + edx]
fabs
fxch st(2)
jmp 0x4292d2
fxch st(2)
fcom st(2)
fnstsw ax
test ah, 0x45
jne 0x429411
mov ebx, dword [esp + 0x18]
fld dword [ebx + edx]
fabs
fxch st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
jne 0x429411
fstp st(2)
fxch st(1)
jmp 0x429304
fstp st(0)
fxch st(1)
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x84]
add edi, edx
lea esi, [ebp + edx]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x40]
mov ebx, dword [edi + edx]
mov edi, dword [esp + 0x3c]
mov edi, dword [edi + edx]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x38]
cmp ebx, dword [esp + 8]
mov edi, dword [eax + edi*4]
fld dword [edi + edx]
jl 0x429534
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 8]
sub eax, ebx
mov ebx, 0x1f
mov edi, eax
sar edi, 0x1f
xor eax, edi
sub eax, edi
mov edi, dword [esp + 0x28]
sub ebx, eax
mov eax, dword [esp + 0x2c]
or eax, edi
fmul dword [eax*4 + 0x58f6e0]
xor eax, eax
cmp eax, ebx
jge 0x42937a
mov eax, ebx
fld dword [eax*4 + 0x58fba0]
fmul st(1)
mov ebx, dword [esp + 0x30]
faddp st(1)
fstp dword [esi]
mov dword [ebx], 0
fld dword [esi]
fnstcw word [esp + 0x56]
fld dword [0x58fc28]
fadd st(1)
mov ax, word [esp + 0x56]
mov ah, 4
mov word [esp + 0x54], ax
fldcw word [esp + 0x54]
frndint
fldcw word [esp + 0x56]
ftst
fnstsw ax
fstp st(0)
test ah, 0x40
je 0x4293c8
fmul st(0)
faddp st(2)
fxch st(1)
jmp 0x4293d4
fstp st(0)
fxch st(1)
jmp 0x4293d4
fstp st(0)
fxch st(1)
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x10]
inc eax
inc ecx
mov dword [esp + 4], eax
add edx, 4
cmp dword [esp + 4], ebx
je 0x429550
cmp dword [esp + 0x94], ecx
jg 0x4292b2
mov edi, dword [esp + 0x14]
mov dword [ebp + edx], 0
mov dword [edi + edx], 0
jmp 0x4293d4
mov ebx, dword [esp + 0x18]
lea esi, [ebp + edx]
mov edi, dword [esp + 0x14]
fld dword [ebx + edx]
fld dword [esi]
add edi, edx
fld st(0)
fabs
fld dword [edi]
fld st(0)
fabs
fxch st(2)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x45
sete bl
and ebx, 0xff
test ah, 1
setne al
and eax, 0xff
mov dword [esp + 0xc], ebx
sub ebx, eax
mov eax, ebx
jne 0x429500
fxch st(2)
fabs
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 1
je 0x429512
fxch st(3)
jmp 0x429478
fxch st(3)
fxch st(2)
fxch st(1)
ftst
fnstsw ax
test ah, 0x45
jne 0x429690
fsubrp st(3)
fxch st(2)
fstp dword [edi]
fxch st(1)
fld dword [esi]
fabs
fld dword [edi]
fld qword [0x58fd30]
fmul st(2)
fxch st(1)
fcompp
fnstsw ax
test ah, 0x45
jne 0x4293d0
fchs
fadd st(0)
fstp dword [edi]
fld dword [esi]
fchs
fstp dword [esi]
fxch st(1)
jmp 0x4293d4
mov edi, dword [esp + 0x24]
fld dword [edi + edx]
fabs
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x4292d0
mov ebx, dword [esp + 0x18]
fld dword [ebx + edx]
fabs
fld dword [esp + 0x34]
fcompp
fnstsw ax
test ah, 0x45
je 0x429300
fxch st(2)
jmp 0x4292d2
fstp st(5)
fstp st(1)
fxch st(1)
fxch st(2)
fxch st(3)
dec eax
jne 0x42951a
jmp 0x429472
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(1)
ftst
fnstsw ax
test ah, 0x45
jne 0x429686
fsub st(1), st(0)
fxch st(1)
fstp dword [edi]
fstp dword [esi]
jmp 0x42948d
mov eax, dword [esp + 8]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], eax
jmp 0x42934b
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x1f8]
test eax, eax
je 0x429620
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x429624
fld st(0)
fcomp qword [edi + 0x208]
fnstsw ax
test ah, 5
jne 0x429628
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [edi + ebx*4]
mov esi, dword [esp + 0x44]
shl ecx, 2
mov edi, dword [esp + 0x1c]
add ecx, eax
jmp 0x4295b3
fld st(0)
fcomp qword [esi + 0x208]
fnstsw ax
test ah, 5
jne 0x429630
mov eax, dword [ecx + edx*4]
cmp edi, eax
jg 0x429610
cmp eax, dword [esp + 0x94]
jge 0x429610
lea ebx, [ebp + eax*4]
fld dword [ebx]
fnstcw word [esp + 0x56]
mov ax, word [esp + 0x56]
fst dword [esp + 0xc]
fadd dword [0x58fc28]
mov ah, 4
mov word [esp + 0x54], ax
fldcw word [esp + 0x54]
frndint
fldcw word [esp + 0x56]
ftst
fnstsw ax
fstp st(0)
test ah, 0x40
je 0x429610
fsub dword [0x58fc24]
mov eax, dword [esp + 0xc]
and eax, 0x80000000
or eax, 0x3f800000
mov dword [ebx], eax
nop
inc edx
cmp edx, dword [esp + 0x10]
jne 0x4295a4
fstp st(0)
jmp 0x429632
fstp st(0)
jmp 0x429632
fstp st(0)
jmp 0x429632
fstp st(0)
jmp 0x429632
fstp st(0)
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add eax, edx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x20]
cmp dword [ecx], ebx
jg 0x429290
fstp st(0)
jmp 0x429656
fstp st(0)
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
inc ebx
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x38], ebx
add esi, 4
mov edx, dword [esp + 0x38]
mov dword [esp + 0x48], esi
cmp dword [edi + 0x484], edx
jg 0x429170
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
fsubr st(1), st(0)
fxch st(1)
jmp 0x42952b
fsubp st(3)
fxch st(2)
jmp 0x429489
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
mov edx, dword [edi]
shl edx, 2
mov ebp, dword [ebx + edx]
test ebp, ebp
je 0x429656
jmp 0x429195
mov ebx, dword [esp + 0x78]
mov ebx, dword [ebx]
mov dword [esp + 0x10], ebx
jmp 0x42921d