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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a8a70
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x762dc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], ecx
call fcn.004a47f0
mov dword [ebp - 0x4c], eax
push 0x12c
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0049e890
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0049e7e0
movzx edx, al
test edx, edx
jne 0x49dac4
xor al, al
jmp 0x49dfea
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0049e850
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.0049e700
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x78]
test edx, edx
je 0x49daf5
mov ecx, dword [ebp - 0x38]
call fcn.0049d4b0
mov ecx, dword [ebp - 0x38]
call fcn.004a0390
test eax, eax
je 0x49dbb1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0x55
call fcn.00495a80
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x44], edx
cvtsi2sd xmm0, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x716f70]
movsd qword [ebp - 0x70], xmm0
cvtsd2ss xmm0, qword [ebp - 0x70]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x54], ecx
cvtsi2sd xmm0, dword [ebp - 0x54]
mov edx, dword [ebp - 0x54]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x716f70]
movsd qword [ebp - 0x78], xmm0
cvtsd2ss xmm0, qword [ebp - 0x78]
push ecx
movss dword [esp], xmm0
call fcn.004a3b00
add esp, 8
fstp dword [ebp - 0x5c]
push ecx
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
mov eax, dword [ebp + 8]
cvtsi2ss xmm0, dword [eax + 0x30]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp + 8]
cvtsi2ss xmm0, dword [ecx + 0x2c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x34]
call fcn.004a4290
push eax
mov ecx, dword [ebp - 0x38]
call fcn.004afaf0
jmp 0x49dbd5
mov edx, dword [ebp + 8]
cvtsi2ss xmm0, dword [edx + 0x30]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp + 8]
cvtsi2ss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
call fcn.004afb10
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x48], 0
je 0x49dbed
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.0049d950
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0049e9f0
mov ecx, dword [ebp - 0x38]
call fcn.004a0190
test eax, eax
je 0x49dc2d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x40]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0049eb10
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0049ee20
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.004a0cd0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x10]
mov byte [ecx + 0x58], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0049e870
mov eax, dword [ebp + 8]
push ecx
movss xmm0, dword [eax + 0x34]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
call fcn.004afc90
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0049e8b0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x54]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0049e8e0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.004aed40
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.004aecd0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x178]
push ecx
call fcn.004a3cb0
add esp, 4
movzx edx, al
test edx, edx
je 0x49dd5d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x50], ecx
cvtsi2sd xmm0, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x716f70]
movsd qword [ebp - 0x68], xmm0
cvtsd2ss xmm0, qword [ebp - 0x68]
mulss xmm0, dword [0x6c0264]
addss xmm0, dword [0x6c0274]
movss dword [ebp - 0x40], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.005badc0
jmp 0x49dd95
push ecx
movss xmm0, dword [0x6c0278]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x6c0278]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x6c0278]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.005badc0
mov ecx, dword [ebp - 0x38]
call fcn.004a0190
test eax, eax
je 0x49ddb0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0049eb60
mov ecx, dword [ebp - 0x38]
call fcn.0049ff50
test eax, eax
jne 0x49de02
push ecx
movss xmm0, dword [0x6c0254]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.00603f00
push ecx
movss xmm0, dword [0x6c0270]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x6c0278]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.00603ec0
mov ecx, dword [ebp - 0x38]
call fcn.004a0390
test eax, eax
jne 0x49de1d
mov edx, dword [ebp + 8]
add edx, 0x55
push edx
mov ecx, dword [ebp - 0x38]
call fcn.004a86a0
mov ecx, dword [ebp - 0x38]
call fcn.004a7e50
mov ecx, dword [ebp - 0x38]
call fcn.004a81c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
and ecx, 2
je 0x49de7b
push 2
mov ecx, dword [ebp - 0x38]
call fcn.004a5240
movzx edx, al
test edx, edx
je 0x49de53
push 9
mov ecx, dword [ebp - 0x38]
call fcn.004a7ba0
mov ecx, dword [ebp - 0x38]
call fcn.004a0190
test eax, eax
je 0x49de6d
push 1
push 1
mov ecx, dword [ebp - 0x38]
call fcn.004a0760
jmp 0x49de79
push 0
push 0x19
mov ecx, dword [ebp - 0x38]
call fcn.004a0760
jmp 0x49de87
push 1
push 1
mov ecx, dword [ebp - 0x38]
call fcn.004a0760
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.004a8e10
mov ecx, dword [ebp - 0x38]
call fcn.0049e6a0
mov ecx, dword [ebp - 0x38]
call fcn.0049f3b0
push eax
call fcn.004a4850
mov ecx, eax
call fcn.004d2940
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x49dedb
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx + 0x36]
test eax, eax
jne 0x49dedb
mov ecx, dword [ebp - 0x3c]
movzx edx, byte [ecx + 0x37]
cmp edx, 4
jl 0x49dedb
mov ecx, dword [ebp - 0x38]
call fcn.004a8f90
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
and ecx, 1
je 0x49def4
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.005faf90
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.0049e9a0
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x799d40]
push edx
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.005fd740
mov ecx, dword [ebp - 0x38]
call fcn.004a0190
test eax, eax
jne 0x49df6d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.004a4850
mov ecx, eax
call fcn.004d2ab0
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x49df6d
mov ecx, dword [ebp - 0x38]
call fcn.004a06b0
mov edx, dword [ebp - 0x48]
push edx
lea ecx, [ebp - 0x8c]
call fcn.004a4200
lea eax, [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.004a06f0
mov ecx, dword [ebp - 0x38]
call fcn.004a13e0
mov dword [ebp - 0x7c], 0x3778
mov ecx, dword [ebp - 0x38]
call fcn.0049f3b0
cmp eax, 0x3778
jne 0x49dfe8
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0x54]
push edx
call fcn.005949a0
add esp, 4
push eax
lea ecx, [ebp - 0x28]
call fcn.00461700
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00461a70
push eax
call fcn.005ab580
add esp, 4
movzx eax, al
test eax, eax
je 0x49dfd9
lea ecx, [ebp - 0x28]
call fcn.00461a70
push eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x234
call fcn.005fc700
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00462020
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0065b5b4
mov esp, ebp
pop ebp
ret 4