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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
push ebx
mov ebx, ecx
push ebp
xor ebp, ebp
mov eax, dword [ebx + 8]
push esi
cmp eax, 1
push edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x31f
mov dword [esp + 0x44], 0x1c1
jne 0x41f8d6
fld qword [ebx + 0x10]
call fcn.00451430
mov ecx, dword [0x484464]
mov esi, eax
fld qword [ebx + 0x18]
sub esi, ecx
mov dword [esp + 0x24], esi
call fcn.00451430
mov ecx, dword [0x4a0e5c]
mov edi, eax
mov eax, dword [0x484468]
mov edx, dword [0x4a0e60]
sub edi, eax
mov eax, dword [0x4a04c8]
push eax
push 0x1c2
push 0x320
push ecx
push edx
mov dword [esp + 0x34], edi
call fcn.00416cc0
mov eax, dword [ebx + 0x78]
add esp, 0x14
cmp eax, 1
jne 0x41f5c3
mov eax, dword [ebx + 0x74]
mov ebp, dword [ebx + 0x7c]
mov cl, byte [eax*4 + 0x4a008a]
mov dl, byte [eax*4 + 0x4a0089]
mov al, byte [eax*4 + 0x4a0088]
push ecx
push edx
lea ecx, [edi + ebp]
push eax
lea edx, [esi + ebp]
push ecx
push edx
push edi
push esi
call fcn.0041c7b0
mov eax, dword [ebx + 0x7c]
add esp, 0x1c
add eax, 2
lea ecx, [esi - 1]
push eax
push eax
lea eax, [edi - 1]
push eax
push ecx
jmp 0x41f7bd
cmp eax, 2
jne 0x41f7c7
cmp dword [ebx + 0x80], ebp
jle 0x41f7c7
fild dword [0x484464]
fsubr qword [ebx + 0x320]
call fcn.00451430
fild dword [0x484468]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
fsubr qword [ebx + 0x328]
call fcn.00451430
mov ecx, 0x47e8b0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
call fcn.00416bc0
mov edx, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x80]
mov eax, 0xff
mov dword [esp + 0x1c], edx
cdq
idiv ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], eax
jle 0x41f734
mov eax, dword [ebx + 0x7c]
lea ebp, [ebx + 0x338]
mov dword [esp + 0x14], eax
fld qword [ebp - 8]
call fcn.00451430
mov ecx, dword [0x484464]
mov esi, eax
fld qword [ebp]
sub esi, ecx
call fcn.00451430
mov edi, eax
mov eax, dword [0x484468]
sub edi, eax
mov al, byte [esp + 0x18]
imul byte [esp + 0x10]
fld qword [ebp - 0x10]
or cl, 0xff
sub cl, al
mov eax, dword [esp + 0x1c]
push ecx
mov dl, byte [eax*4 + 0x4a008a]
mov cl, byte [eax*4 + 0x4a0089]
push edx
mov dl, byte [eax*4 + 0x4a0088]
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
call fcn.00451430
mov ecx, dword [0x484468]
fld qword [ebp - 0x18]
sub eax, ecx
push eax
call fcn.00451430
sub eax, dword [0x484464]
push eax
push edi
push esi
push 0x47e8b0
call fcn.0041cf60
mov ecx, dword [ebx + 0x7c]
mov edx, esi
sub edx, ecx
add esp, 0x28
mov dword [esp + 0x14], ecx
lea eax, [edx - 1]
mov edx, dword [esp + 0x28]
cmp edx, eax
jl 0x41f6e1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
lea esi, [esi + ecx + 1]
cmp eax, esi
jg 0x41f6f1
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x2c]
mov eax, edi
sub eax, ecx
dec eax
cmp edx, eax
jl 0x41f702
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
lea edi, [edi + ecx + 1]
cmp eax, edi
jg 0x41f712
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x80]
inc eax
add ebp, 0x10
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x41f646
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
fld qword [ebx + 0x320]
call fcn.00451430
mov edx, dword [0x484464]
mov ebp, eax
fld qword [ebx + 0x328]
sub ebp, edx
call fcn.00451430
mov ecx, dword [0x484468]
mov edx, ebp
sub eax, ecx
mov ecx, dword [ebx + 0x7c]
sub edx, ecx
lea ecx, [edx - 1]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jl 0x41f772
mov dword [esp + 0x28], ecx
mov edx, dword [ebx + 0x7c]
mov ecx, dword [esp + 0x30]
lea ebp, [ebp + edx + 1]
cmp ecx, ebp
jg 0x41f787
mov dword [esp + 0x30], ebp
mov ecx, ebp
mov ebp, eax
sub ebp, edx
mov edx, dword [esp + 0x2c]
dec ebp
cmp edx, ebp
jl 0x41f79a
mov dword [esp + 0x2c], ebp
mov edx, ebp
mov ebp, dword [ebx + 0x7c]
lea ebp, [eax + ebp + 1]
mov eax, dword [esp + 0x34]
cmp eax, ebp
jg 0x41f7af
mov dword [esp + 0x34], ebp
mov eax, ebp
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x2c]
sub ecx, eax
inc ecx
push ecx
push edx
push eax
mov ecx, 0x4a0eb0
call fcn.0040d360
cmp dword [ebx + 0x84], 1
jne 0x41f8d6
mov eax, dword [ebx + 0x968]
mov ecx, dword [ebx + eax*4 + 0x90]
mov eax, dword [ebx + 0x88]
cmp eax, 1
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
mov dword [esp + 0x24], edx
jne 0x41f88c
mov ecx, ebx
call fcn.0041f8e0
call fcn.00451430
mov edx, 0x10e
sub edx, eax
jns 0x41f818
mov eax, 0x168
sub eax, edx
mov edx, eax
cmp edx, 0x167
jle 0x41f82a
mov eax, edx
mov ecx, 0x168
cdq
idiv ecx
mov ecx, dword [0x4a04c8]
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a0e60]
push edx
mov edx, dword [0x4a0e5c]
push edi
push esi
push ecx
mov ecx, dword [ebx + 0x968]
push edx
push eax
mov ecx, dword [ebx + ecx*4 + 0x90]
call fcn.004135b0
mov edx, dword [esp + 0x24]
push edx
push ebp
push 0
push 0
call fcn.0041db70
cdq
sub eax, edx
add esp, 0x10
sar eax, 1
sub edi, eax
sub esi, eax
lea ecx, [eax + eax]
push ecx
push ecx
push edi
push esi
mov ecx, 0x4a0eb0
call fcn.0040d360
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x114]
mov ebp, dword [ebx + 0x110]
sub edi, edx
mov edx, dword [0x4a04c8]
sub esi, ebp
push edi
lea eax, [esp + 0x3c]
push esi
push eax
mov eax, dword [0x4a0e5c]
push edx
mov edx, dword [0x4a0e60]
push eax
push edx
call fcn.00412930
mov eax, dword [ebx + 0x968]
mov ecx, dword [ebx + eax*4 + 0x90]
push ecx
push edi
push esi
mov ecx, 0x4a0eb0
call fcn.0040d3f0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret