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

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
xor esi, esi
mov ebp, ecx
mov ecx, dword [esp + 0x80]
mov dword [eax], esi
mov eax, dword [esp + 0x40]
push edi
cmp eax, esi
mov dword [esp + 0x28], ebp
mov byte [ecx], 0
je 0x49e5bf
mov ebx, dword [esp + 0x48]
cmp ebx, esi
je 0x49e5bf
cmp dword [esp + 0x6c], esi
je 0x49e5bf
push 1
mov ecx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
call fcn.0049b080
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x30], esi
cmp edi, esi
je 0x49dfee
fld dword [ebx]
fsub dword [edi]
fld dword [ebx + 4]
fsub dword [edi + 4]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
jmp 0x49dff6
mov dword [esp + 0x20], 0
push esi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push ebx
push esi
push 1
push 1
mov ecx, ebp
call fcn.0049c400
mov esi, eax
test esi, esi
je 0x49e5bf
mov ecx, dword [esp + 0x44]
push ebx
call fcn.0049abf0
test al, al
mov byte [esp + 0x13], al
je 0x49e0b2
push esi
push 1
mov ecx, ebp
call fcn.0049c8b0
xor bl, bl
mov edi, 0x67060c
fld dword [esp + 0x54]
fmul dword [edi - 4]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x38]
fadd st(0), st(0)
push edx
fadd dword [eax]
fstp dword [esp + 0x3c]
fld dword [esp + 0x58]
fmul dword [edi]
fadd st(0), st(0)
fadd dword [eax + 4]
fstp dword [esp + 0x40]
call fcn.0049abf0
test al, al
jne 0x49e090
mov eax, dword [esp + 0x4c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x48]
push eax
push ecx
push esi
push 1
push 1
mov ecx, ebp
call fcn.0049c400
mov bl, 1
add edi, 8
cmp edi, 0x67068c
jl 0x49e03c
test bl, bl
jne 0x49e0ae
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x30
ret 0x44
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
cmp edx, eax
jge 0x49e542
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
cmp dword [ecx], eax
jge 0x49e542
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 0x48]
inc ecx
test esi, esi
mov dword [esp + 0x1c], ecx
je 0x49e542
push esi
push 1
mov ecx, ebp
call fcn.0049c8b0
fld dword [esi]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x49e0b2
mov ecx, dword [ebp]
fild dword [ecx + 8]
fsub dword [esp + 0x54]
fcomp dword [esi]
fnstsw ax
test ah, 1
jne 0x49e0b2
fld dword [esi + 4]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x49e0b2
fild dword [ecx + 0xc]
fsub dword [esp + 0x54]
fcomp dword [esi + 4]
fnstsw ax
test ah, 1
jne 0x49e0b2
fild dword [ebp + 0xb0]
fadd dword [esp + 0x54]
fcomp dword [esi]
fnstsw ax
test ah, 0x41
je 0x49e542
mov edx, dword [ebp + 0xb8]
fld dword [esi]
inc edx
fst dword [esp + 0x24]
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fsub dword [esp + 0x54]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x49e542
fild dword [ebp + 0xb4]
fadd dword [esp + 0x54]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
je 0x49e542
mov eax, dword [ebp + 0xbc]
fld dword [esi + 4]
inc eax
fst dword [esp + 0x2c]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fsub dword [esp + 0x54]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x49e542
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x49e1e7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
push 0
push edx
push eax
call fcn.00539330
fsub dword [esp + 0x54]
fld dword [0x63be70]
fadd dword [esp + 0x58]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x49e522
jmp 0x49e228
test edi, edi
je 0x49e292
fld dword [esi]
fsub dword [edi]
fld dword [esi + 4]
fsub dword [edi + 4]
fld dword [esp + 0x54]
fadd dword [esp + 0x58]
fld st(1)
fmul st(2)
fld st(3)
fmul st(4)
faddp st(1)
fld st(1)
fmul st(2)
fadd dword [0x63be70]
fcompp
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 1
fstp st(0)
je 0x49e522
test edi, edi
je 0x49e292
fld dword [esi + 0x14]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x49e245
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x5c]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push edx
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push ecx
mov ecx, dword [ebp]
push edx
push eax
call fcn.004a2610
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi]
push eax
mov eax, dword [esi + 4]
push 0x40
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
mov ecx, dword [ebp]
call fcn.004a2a20
test al, al
je 0x49e528
xor ebx, ebx
mov ecx, 0x63be8c
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x49e4e4
test eax, eax
jne 0x49e2bc
cmp ecx, 0x63be94
je 0x49e4e4
cmp eax, 1
jne 0x49e2cd
cmp ecx, 0x63be8c
je 0x49e4e4
cmp eax, 2
jne 0x49e2de
cmp ecx, 0x63bea4
je 0x49e4e4
cmp eax, 3
jne 0x49e2ef
cmp ecx, 0x63be9c
je 0x49e4e4
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x49e302
cmp ecx, 0x63be8c
je 0x49e4e4
cmp eax, 1
jne 0x49e313
cmp ecx, 0x63be9c
je 0x49e4e4
cmp eax, 2
jne 0x49e324
cmp ecx, 0x63be94
je 0x49e4e4
cmp eax, 3
jne 0x49e335
cmp ecx, 0x63bea4
je 0x49e4e4
lea edx, [esp + 0x14]
lea eax, [esp + 0x34]
push edx
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x50]
push edx
push ebx
push esi
call fcn.0049a190
test al, al
jne 0x49e501
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push ebx
push esi
mov byte [eax], 1
call fcn.0049a580
test al, al
je 0x49e4e0
test edi, edi
je 0x49e395
mov eax, dword [esp + 0x14]
push 1
push ebx
push eax
push 0xffffffffffffffff
jmp 0x49e50e
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
cmp dword [eax], edx
jge 0x49e4e0
mov al, byte [esp + 0x64]
test al, al
je 0x49e3d2
mov eax, dword [esp + 0x48]
fld dword [eax - 4]
fmul dword [0x63b188]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [eax]
fmul dword [0x63b188]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x48]
push 0
push ecx
push esi
push 0
push 1
mov ecx, ebp
call fcn.0049c400
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x6c]
xor edi, edi
mov esi, eax
mov ebp, dword [edx]
test ebp, ebp
jle 0x49e476
lea edx, [ebx + 0x14]
mov eax, dword [edx - 8]
mov ecx, dword [edx]
fld dword [esi]
lea eax, [eax + eax*2]
fsub dword [ecx + eax*4 - 0xc]
lea ecx, [ecx + eax*4 - 0xc]
fstp dword [esp + 0x24]
and dword [esp + 0x24], 0x7fffffff
fld dword [esp + 0x24]
fcomp dword [0x63be74]
fnstsw ax
test ah, 1
je 0x49e454
fld dword [esi + 4]
fsub dword [ecx + 8]
fstp dword [esp + 0x24]
and dword [esp + 0x24], 0x7fffffff
fld dword [esp + 0x24]
fcomp dword [0x63be74]
fnstsw ax
test ah, 1
jne 0x49e45e
inc edi
add edx, 0x34
cmp edi, ebp
jl 0x49e402
jmp 0x49e476
lea edx, [edi + edi*2]
lea eax, [edi + edx*4]
fld dword [ebx + eax*4 + 0x18]
fcomp dword [esi + 0x18]
fnstsw ax
test ah, 1
jne 0x49e4d4
mov ebx, dword [esp + 0x6c]
cmp edi, ebp
jne 0x49e483
mov ecx, dword [esp + 0x78]
inc ebp
mov dword [ecx], ebp
jmp 0x49e491
lea edx, [edi + edi*2]
lea eax, [edi + edx*4]
mov dword [ebx + eax*4 + 0xc], 0
mov eax, dword [esp + 0x80]
lea ecx, [edi + edi*2]
push eax
mov eax, dword [esp + 0x60]
lea edx, [edi + ecx*4]
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x30]
lea ebp, [ebx + edx*4]
mov edx, dword [esp + 0x70]
push edx
push eax
push esi
push ebp
call fcn.0049e5d0
fld dword [esi + 0x18]
mov eax, dword [esp + 0x70]
fstp dword [ebp + 0x18]
test eax, eax
je 0x49e4d4
mov ecx, dword [esp + 0x14]
mov dword [eax + edi*4], ecx
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
add ecx, 8
inc ebx
cmp ecx, 0x63beac
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ecx
jl 0x49e2a1
jmp 0x49e0b2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
push 1
push ebx
push edx
push eax
lea ecx, [esp + 0x48]
push edi
push ecx
push esi
push 1
push 1
mov ecx, ebp
call fcn.0049c400
jmp 0x49e4e0
mov dword [esp + 0x18], esi
jmp 0x49e542
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push esi
push 0
push 1
mov ecx, ebp
call fcn.0049c400
mov dword [esp + 0x18], eax
test edi, edi
je 0x49e58f
mov esi, dword [esp + 0x18]
test esi, esi
je 0x49e552
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49e5b0
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x78]
push ecx
push eax
push edx
mov ecx, ebp
call fcn.0049e5d0
xor eax, eax
pop edi
test esi, esi
pop esi
pop ebp
sete al
pop ebx
add esp, 0x30
ret 0x44
mov eax, dword [esp + 0x78]
cmp dword [eax], 0
jle 0x49e5b0
mov dl, byte [esp + 0x13]
xor eax, eax
test dl, dl
pop edi
pop esi
setne al
pop ebp
add eax, 4
pop ebx
add esp, 0x30
ret 0x44
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret 0x44
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x30
ret 0x44