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

Disassembly:
push 0xffffffffffffffff
push 0x6996a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
mov al, byte [esp + 3]
push ebx
mov ebx, ecx
push ebp
mov cl, byte [esp + 0xb]
push esi
mov byte [esp + 0x23], al
lea edx, [esp + 0x3e]
push edi
mov byte [esp + 0x13], cl
lea eax, [esp + 0x27]
push edx
lea ecx, [esp + 0x17]
push eax
push ecx
push 0x64
lea ecx, [esp + 0x80]
call fcn.00659dd0
mov edx, dword [ebx + 0x1c0]
xor ebp, ebp
push edx
lea ecx, [esp + 0x94]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.0048c380
mov eax, dword [ebx + 0x1c0]
mov byte [esp + 0xb0], 1
cmp dword [eax + 0x68], ebp
jle 0x41c639
xor esi, esi
cmp ebp, esi
jge 0x41c5bf
xor ecx, ecx
mov dword [esp + 0x14], ecx
jmp 0x41c5da
cmp ebp, dword [eax + 0x68]
jl 0x41c5ca
mov dword [esp + 0x14], esi
jmp 0x41c5d6
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + ebp*4]
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x18], esi
jle 0x41c629
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + esi*4]
cmp byte [eax], 0
jne 0x41c621
mov ecx, dword [ebx + 0x1c0]
push 1
push esi
push ebp
call fcn.00495860
mov edi, eax
lea eax, [esp + 0x43]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0
call fcn.00538970
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], edi
mov eax, dword [ecx + 0x18]
inc esi
cmp esi, eax
jl 0x41c5df
mov eax, dword [ebx + 0x1c0]
inc ebp
cmp ebp, dword [eax + 0x68]
jl 0x41c5b1
mov edx, dword [ebx + 0x1c0]
xor eax, eax
fld dword [edx + 8]
fmul dword [0x6c8a7c]
mov edx, dword [esp + 0x74]
test edx, edx
fstp dword [esp + 0x14]
jbe 0x41c66d
mov esi, dword [esp + 0x70]
mov ecx, esi
cmp dword [ecx], 0
jne 0x41c84f
inc eax
add ecx, 4
cmp eax, edx
jb 0x41c65c
xor eax, eax
lea ecx, [esp + 0x70]
mov dword [esp + 0x38], eax
test eax, eax
mov dword [esp + 0x3c], ecx
je 0x41c993
mov ebp, dword [eax + 4]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
mov ecx, ebp
call fcn.004b3370
fld dword [esp + 0x28]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x41c6c5
fld dword [esp + 0x28]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
je 0x41c717
fld dword [esp + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x41c6e9
fld dword [esp + 0x20]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
je 0x41c717
fld dword [esp + 0x2c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x41c859
fld dword [esp + 0x2c]
fsub dword [esp + 0x14]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
jne 0x41c859
fld dword [0x6c8a88]
fld dword [esp + 0x28]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x41c762
fld dword [esp + 0x28]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
jne 0x41c762
fld dword [esp + 0x28]
fchs
fstp dword [esp + 0x18]
fld dword [0x6c8a88]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x41c762
fstp st(0)
fld dword [esp + 0x18]
fld dword [esp + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x41c7a1
fld dword [esp + 0x20]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
jne 0x41c7a1
fld dword [esp + 0x20]
fchs
fstp dword [esp + 0x18]
fcom dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x41c7a1
fstp st(0)
fld dword [esp + 0x18]
fld dword [esp + 0x2c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x41c7dc
fld dword [esp + 0x2c]
fsub dword [esp + 0x14]
fst dword [esp + 0x18]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
jne 0x41c7dc
fcom dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x41c7dc
fstp st(0)
fld dword [esp + 0x18]
fcom dword [0x6c8a74]
fnstsw ax
test ah, 0x41
jne 0x41c857
fld dword [esp + 0x28]
fadd dword [esp + 0x44]
sub esp, 0x1c
lea esi, [esp + 0x70]
mov edi, esp
mov dword [esp + 0x70], ebp
fmul dword [0x6c8ac0]
mov dword [esp + 0x74], 0
fst dword [esp + 0x7c]
fld dword [esp + 0x3c]
fadd dword [esp + 0x48]
fmul dword [0x6c8ac0]
fst dword [esp + 0x34]
fstp dword [esp + 0x80]
mov ecx, dword [esp + 0x34]
fstp dword [esp + 0x84]
mov dword [esp + 0x88], ecx
mov ecx, 7
fstp dword [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.0041cca0
jmp 0x41c859
mov eax, dword [esi + eax*4]
jmp 0x41c66f
fstp st(0)
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [eax]
test eax, eax
jne 0x41c878
lea ecx, [esp + 0x30]
call fcn.00537c80
test eax, eax
mov dword [esp + 0x30], eax
je 0x41c974
mov esi, dword [eax + 4]
lea ecx, [esp + 0x90]
push esi
push ebp
call fcn.0048cc10
fst dword [esp + 0x18]
fcomp dword [0x6c8a74]
fnstsw ax
test ah, 0x41
jne 0x41c955
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x8c]
push edx
push eax
mov ecx, esi
call fcn.004b3370
fld dword [esp + 0x28]
fadd dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
sub esp, 0x1c
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ecx
fmul dword [0x6c8ac0]
mov ecx, 7
lea esi, [esp + 0x70]
mov edi, esp
mov dword [esp + 0x70], ebp
fstp dword [esp + 0x7c]
fld dword [esp + 0x3c]
fadd dword [esp + 0x48]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x80]
fld dword [esp + 0xa0]
fadd dword [esp + 0x9c]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x84]
fld dword [esp + 0xa4]
fadd dword [esp + 0xa8]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.0041cca0
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
test eax, eax
jne 0x41c968
lea ecx, [esp + 0x30]
call fcn.00537c80
test eax, eax
mov dword [esp + 0x30], eax
jne 0x41c884
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
jne 0x41c987
lea ecx, [esp + 0x38]
call fcn.00537c80
test eax, eax
mov dword [esp + 0x38], eax
jne 0x41c683
lea ecx, [esp + 0x48]
call fcn.00575430
mov edi, dword [esp + 0xb8]
xor esi, esi
mov byte [esp + 0xb0], 2
mov dword [edi], 0
mov eax, dword [ebx + 0x1e8]
test eax, eax
jle 0x41ca5e
mov ecx, dword [ebx + 0x1ec]
mov eax, dword [ecx + esi*4]
mov ecx, dword [eax]
test ecx, ecx
je 0x41c9fa
mov eax, ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00575720
cmp eax, 0xffffffff
jne 0x41c9fa
mov edx, dword [ebx + 0x1ec]
push 1
lea ecx, [esp + 0x4c]
mov eax, dword [edx + esi*4]
mov eax, dword [eax]
push eax
call fcn.00575520
mov eax, dword [ebx + 0x1ec]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x41ca35
mov eax, ecx
push 0
push eax
lea ecx, [esp + 0x50]
call fcn.00575720
cmp eax, 0xffffffff
jne 0x41ca35
mov ecx, dword [ebx + 0x1ec]
push 1
mov eax, dword [ecx + esi*4]
lea ecx, [esp + 0x4c]
mov eax, dword [eax + 4]
push eax
call fcn.00575520
mov edx, dword [ebx + 0x1ec]
mov ecx, dword [edx + esi*4]
fld dword [ecx + 8]
fcomp dword [edi]
fnstsw ax
test ah, 0x41
jne 0x41ca4f
mov eax, dword [ecx + 8]
mov dword [edi], eax
mov eax, dword [ebx + 0x1e8]
inc esi
cmp esi, eax
jl 0x41c9c1
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 1
call fcn.005754a0
lea ecx, [esp + 0x90]
mov byte [esp + 0xb0], 0
call fcn.0048c3c0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
push 0x51f270
push ecx
push edx
mov dword [esp + 0xbc], 0xffffffff
call fcn.005813d0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], 0
push eax
call dword [0x6c74ac]
mov ecx, dword [esp + 0xb8]
add esp, 0x10
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret 4