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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5cc
mov dword [esp + 0x6c], eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, dword [0x7440a8]
jge 0x41b069
mov eax, dword [0x7440ac]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [eax + ebx*4]
mov eax, dword [ebx + 0x108]
test eax, eax
je 0x41b060
mov edx, dword [eax + 8]
cmp dword [edx + 8], 0
je 0x41b060
mov ecx, dword [ebx]
mov edx, dword [0x7440a4]
cmp dword [ebx + 0x138], 0
mov eax, dword [eax]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], esi
mov esi, dword [ebx + 0x50]
mov dword [esp + 0x34], esi
jne 0x41a8a7
lea edi, [esp + 0x1c4]
lea esi, [esp + 0x1c0]
xor eax, eax
mov ecx, 0xff
mov dword [esp + 0x1c0], 0
rep stosd dword es:[edi], eax
mov edx, esi
mov eax, ebx
call fcn.00419142
test eax, eax
jns 0x41a8a7
mov dword [esp + 0x14], esi
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov dword [esp + 8], 0x6c1135
mov dword [esp + 4], 0x10
mov dword [esp], 0
mov dword [esp + 0xc], eax
call fcn.00647705
jmp 0x41b01b
cmp dword [ebx + 0x68], 0
je 0x41a8bd
mov eax, dword [esp + 0x34]
mov ebp, dword [ebx + 0x68]
add eax, 0x4c
mov dword [esp + 0x70], eax
jmp 0x41a8e8
call fcn.00644084
test eax, eax
mov dword [ebx + 0x68], eax
jne 0x41a8ad
mov eax, 0xfffffff4
jmp 0x41b06b
cmp dword [ebx + 0x12c], 0
je 0x41a9a8
mov dword [esp], ebp
call fcn.006440ad
mov eax, dword [esp + 0x48]
mov dword [esp + 8], 2
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0042c43c
test eax, eax
mov edx, eax
jns 0x41a8d3
cmp eax, 0xfffffff5
je 0x41a962
cmp eax, 0xdfb9b0bb
je 0x41a962
lea edi, [esp + 0x180]
xor eax, eax
mov ecx, 0x10
lea ebx, [esp + 0x180]
rep stosd dword es:[edi], eax
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.00641482
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x6c1163
mov dword [esp + 4], 0x18
mov dword [esp], 0
call fcn.00647705
jmp 0x41b060
cmp dword [esp + 0x6c], 0
je 0x41b060
cmp edx, 0xdfb9b0bb
jne 0x41b060
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0042c4f6
test eax, eax
jne 0x41b060
fld dword [0x6c23a4]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov edx, ebx
fstp qword [esp]
call fcn.004178ed
jmp 0x41b060
mov eax, dword [ebp + 0x6c]
add eax, 0x80000000
or eax, dword [ebp + 0x68]
je 0x41ab86
mov eax, dword [esp + 0x3c]
xor esi, esi
mov eax, dword [eax + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x40], eax
add eax, 0x80000000
or eax, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
cmove eax, esi
cmove edi, esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edi
mov dword [esp], eax
call fcn.0042c54e
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], edx
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 0x50]
mov dword [esp], edi
call fcn.00646fbb
mov ecx, 0x1d
mov edx, dword [ebp + 0x6c]
sub ecx, eax
mov eax, 0x10
cmp ecx, 0x10
cmovg ecx, eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x64]
test ecx, ecx
cmovs ecx, esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x68]
shl edi, cl
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 0x50], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.00647ec6
mov esi, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov edi, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call fcn.00647ec6
sub esi, eax
mov ecx, dword [esp + 0x74]
mov eax, 1
sbb edi, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
fild qword [esp + 0x50]
shl eax, cl
mov dword [esp + 0x50], eax
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fild dword [esp + 0x50]
fdivp st(1)
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fld st(0)
fldz
fxch st(2)
fucompi st(2)
fstp st(1)
ja 0x41aafe
fld dword [0x6c23a0]
jmp 0x41ab04
fld dword [0x6c239c]
mov eax, dword [esp + 0x34]
faddp st(1)
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
fstp qword [esp + 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00647ec6
mov esi, eax
mov eax, dword [esp + 0x34]
mov edi, edx
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call fcn.00647ec6
sub esi, eax
sbb edi, edx
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x6c], edi
jmp 0x41ab90
fld dword [0x6c23a4]
fstp qword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0042c4f6
test eax, eax
je 0x41abac
dec eax
je 0x41ac9a
jmp 0x41b027
cmp dword [ebx + 0xa8], 0
jne 0x41abcb
mov eax, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x60]
mov esi, dword [esp + 0x34]
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], edx
cmp dword [0x744034], 0
je 0x41ac81
mov eax, dword [esp + 0x34]
lea edi, [esp + 0xa0]
mov ecx, 8
mov edx, dword [ebp + 0x6c]
mov esi, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x40], eax
xor eax, eax
mov edx, dword [esp + 0x40]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x44]
lea edi, [esp + 0x80]
mov dword [esp], eax
lea eax, [esp + 0xa0]
call fcn.00414cef
mov ecx, 8
mov dword [esp + 0x40], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x6c]
lea eax, [esp + 0x80]
call fcn.004157ca
mov dword [esp + 0x20], esi
fld qword [esp + 0x50]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
fstp qword [esp + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c1191
mov dword [esp + 4], 0x20
mov dword [esp], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
call fcn.00647705
fld qword [esp + 0x50]
mov eax, dword [esp + 0x3c]
mov ecx, ebp
mov edx, ebx
fstp qword [esp]
call fcn.004178ed
jmp 0x41a8e0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
test byte [eax + 0x11], 0x40
jne 0x41acda
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x160]
cmp dword [eax + 0x15c], edx
je 0x41acda
mov dword [esp + 8], 0x6c11c8
mov dword [esp + 4], 0x10
mov dword [esp], 0
call fcn.00647705
jmp 0x41a8e0
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x1c0]
mov dword [esp], eax
call fcn.0047bd83
mov eax, ebx
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
call fcn.0041488b
test eax, eax
je 0x41a8e0
mov eax, dword [ebp + 0x6c]
add eax, 0x80000000
or eax, dword [ebp + 0x68]
je 0x41ad2b
cmp dword [0x744058], 0
jns 0x41ad37
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], edx
mov eax, dword [ebp + 0x4c]
cdq
mov esi, eax
add esi, dword [ebp + 0x68]
mov edi, edx
adc edi, dword [ebp + 0x6c]
add dword [ebx + 0x170], eax
adc dword [ebx + 0x174], edx
add dword [ebx + 0x168], 1
adc dword [ebx + 0x16c], 0
cmp dword [esp + 0x1dc], 0
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
jne 0x41ad96
cmp dword [esp + 0x1d8], 0
je 0x41ad96
mov dword [esp + 0x14], 0x3a2
mov dword [esp + 0x10], 0x6c09d0
mov dword [esp + 0xc], 0x6c1224
jmp 0x41b03f
mov dword [esp], 0
call fcn.0041539c
cmp dword [0x744034], 0
je 0x41ae53
mov eax, dword [esp + 0x38]
lea edi, [esp + 0x160]
mov ecx, 8
mov edx, dword [ebp + 0x6c]
mov esi, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x50], eax
xor eax, eax
mov edx, dword [esp + 0x50]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
lea edi, [esp + 0x140]
add eax, 0x4c
mov dword [esp], eax
lea eax, [esp + 0x160]
call fcn.00414cef
mov ecx, 8
mov dword [esp + 0x50], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x6c]
lea eax, [esp + 0x140]
call fcn.004157ca
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c123a
mov dword [esp + 4], 0x20
mov dword [esp + 0x14], ecx
mov dword [esp], 0
mov dword [esp + 0x10], esi
call fcn.00647705
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0048249a
test eax, eax
js 0x41afff
mov eax, dword [esp + 0x38]
lea esi, [esp + 0x1c0]
add eax, 0x4c
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0048252c
cmp eax, 0xfffffff5
je 0x41a8e0
test eax, eax
js 0x41afff
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], 0x6c1280
mov dword [esp + 4], eax
call fcn.0041539c
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0047cb82
cmp dword [0x744034], 0
je 0x41afe6
lea edi, [esp + 0x120]
xor eax, eax
mov ecx, 8
mov edx, dword [esp + 0x1d0]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1d4]
lea edi, [esp + 0x100]
mov dword [esp], eax
lea eax, [esp + 0x120]
call fcn.00414cef
mov ecx, 8
mov dword [esp + 0x50], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
lea eax, [esp + 0x100]
lea edi, [esp + 0xe0]
call fcn.004157ca
mov ecx, 8
mov dword [esp + 0x58], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x1c8]
lea edi, [esp + 0xc0]
mov ecx, dword [esp + 0x1cc]
mov dword [esp], eax
lea eax, [esp + 0xe0]
call fcn.00414cef
mov ecx, 8
mov dword [esp + 0x60], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
lea eax, [esp + 0xc0]
call fcn.004157ca
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c1293
mov dword [esp + 4], 0x20
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp], 0
call fcn.00647705
mov eax, dword [esp + 0x3c]
mov dword [esp], 0
mov ecx, ebx
mov edx, esi
call fcn.0041613a
jmp 0x41ae7d
mov dword [esp + 8], 0x6c12e0
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00647705
mov dword [esp], 1
call fcn.00410a8a
mov dword [esp + 0x14], 0x5f3
mov dword [esp + 0x10], 0x6c09d0
mov dword [esp + 0xc], 0x6c09e1
mov dword [esp + 8], 0x6c09e3
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00647705
call fcn.00697e77
inc dword [esp + 0x4c]
jmp 0x41a7ea
xor eax, eax
add esp, 0x5cc
pop ebx
pop esi
pop edi
pop ebp
ret