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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov ebx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [0x1b2d2024]
xor ecx, ebp
mov dword [esp + 0x158], ecx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x148], edx
mov dword [esp + 0x40], 9
mov al, byte [0x1b447215]
test al, al
jne 0x49520a
xor ecx, ecx
dec ecx
lea eax, [esp + 0x140]
mov dword [eax + 4], ecx
mov dword [eax], ecx
xor esi, esi
push dword [ebx + 0x8c]
push esi
push dword [ebx + 0xf4]
push eax
call 0xffa7ad7e
add esp, 0x10
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x134], esi
cmp dword [ebx + 0x114], esi
je 0x494836
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x134], eax
mov dword [esp + 0x40], 0xa7
mov cl, byte [0x1b4472b3]
test cl, cl
jne 0x495240
mov ecx, dword [ebx + 0xf4]
mov dl, 1
mov dword [esp + 0x10], edx
cmp eax, ecx
jb 0x4947ea
xor edx, edx
div ecx
mov dword [esp + 0x24], eax
xor edi, edi
inc edi
lea esi, [esp + 0x90]
mov dword [esp + 4], ebx
jmp 0x494b8e
mov dword [esp + 0x80], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x4951e1
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x80], 9
mov al, byte [0x1b447215]
test al, al
jne 0x4951b8
mov ecx, dword [esp + 0x158]
xor ecx, ebp
call 0xffc423eb
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebx + 0x138]
mov eax, dword [esi]
mov ecx, dword [eax + 0x18]
call dword [0x1b2b4d20]
lea eax, [esp + 0x13c]
push eax
push esi
call ecx
test eax, eax
js 0x49489d
mov dword [esp + 0x78], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x495319
mov ecx, dword [esp + 0x13c]
test ecx, ecx
jne 0x494890
mov dword [esp + 0x80], 0xa7
mov al, byte [0x1b4472b3]
xor ecx, ecx
test al, al
jne 0x4953da
mov eax, dword [ebx + 0x100]
sub eax, ecx
jmp 0x4947a2
mov edi, eax
push eax
push 0x1a2cfe44
call 0xfc9122ce
add esp, 8
push 2
call 0xff3706ce
add esp, 4
test al, al
jne 0x4950f3
xor ebx, ebx
jmp 0x494806
mov esi, eax
push eax
push 0x1a2cfe44
call 0xfc9122ce
add esp, 8
push 2
call 0xff3706ce
add esp, 4
test al, al
je 0x4949a1
lea ecx, [esp + 0x90]
mov eax, 2
push eax
push 0x348
push 0x1a2cfb76
call 0xfc2be45e
push 6
push 0x1a2cfda9
lea eax, [esp + 0xa0]
push eax
call 0xffca193e
add esp, 0xc
push 0x15
push 0x1a2cfe67
push eax
call 0xffca193e
add esp, 0xc
push 0x26
push 0x1a2cfed7
push eax
call 0xffca193e
add esp, 0xc
mov dword [esp], eax
push esi
lea esi, [esp + 0x44]
push esi
call fcn.00497b1e
add esp, 8
cmp byte [esp + 0x4b], 0
jns 0x494957
mov esi, dword [esp + 0x40]
push esi
call 0xffc740ae
add esp, 4
push eax
push esi
push dword [esp + 8]
call 0xffca193e
add esp, 0xc
mov ecx, 2
push ecx
push 0x1a2ced18
push eax
call 0xffca193e
add esp, 0xc
cmp byte [esp + 0x4b], 0
jns 0x494995
push dword [esp + 0x40]
call 0xffc3bd6e
add esp, 4
lea ecx, [esp + 0x90]
call 0xfca34dae
lea eax, [esp + 0x90]
mov esi, eax
push eax
call 0xff976abe
add esp, 4
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x130]
mov dword [esp], eax
mov eax, dword [ebx + 0x148]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x80]
push esi
call fcn.0049eede
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x34]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.00483f0e
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x1b2b4d20]
sub esp, 0x18
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
call esi
mov dword [esp + 8], eax
movzx esi, word [ebx + 0x94]
imul esi, eax
mov dword [esp], esi
mov edx, dword [esp + 0x138]
mov ecx, ebx
push esi
call fcn.0049546e
add esp, 4
mov ecx, dword [ebx + 0x148]
movss xmm0, dword [ebx + 0xf0]
sub esp, 4
movss dword [esp], xmm0
call 0x2a7978e
mov esi, dword [ebx + 0x148]
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
push dword [esi + 0x20]
mov ebx, dword [esp + 0xc]
push ebx
push 0
call 0xfdec103e
add esp, 0xc
mov ecx, esi
mov edx, ebx
push dword [esp + 0xc]
call fcn.0049695e
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x80]
mov eax, dword [esp + 4]
push dword [eax + 0x148]
call fcn.0049a94e
xor ebx, ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp]
cmp ecx, dword [eax + 0xfc]
setb bl
add ebx, ebx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x13c]
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
call dword [0x1b2b4d20]
push ebx
mov ebx, dword [esp + 8]
push dword [esp + 4]
push esi
call ecx
mov eax, dword [ebx + 0xf4]
add dword [ebx + 0x118], eax
adc dword [ebx + 0x11c], 0
lea ecx, [esp + 0x80]
call 0xffcd348e
lea esi, [esp + 0x90]
mov dword [esp + 0x80], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x4950cc
cmp dword [esp + 0x14], 0
js 0x4947ea
lea eax, [edi + 1]
cmp edi, dword [esp + 0x24]
mov edi, eax
jae 0x4947ea
mov dword [esp + 0x40], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x49509d
mov esi, dword [ebx + 0xf4]
mov ebx, dword [ebx + 0x13c]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
call dword [0x1b2b4d20]
lea eax, [esp + 0x138]
push eax
push esi
push ebx
call ecx
mov ecx, eax
test eax, eax
setns al
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
jns 0x494cd3
push ecx
push 0x1a2cfe44
call 0xfc9122ce
add esp, 8
push 2
call 0xff3706ce
add esp, 4
test al, al
mov ebx, dword [esp + 4]
lea esi, [esp + 0x90]
je 0x494b5c
mov ecx, esi
mov eax, 2
push eax
push 0x2b8
push 0x1a2cfb76
call 0xfc2be45e
push 6
push 0x1a2cfda9
lea eax, [esp + 0xa0]
push eax
call 0xffca193e
add esp, 0xc
push 0x15
push 0x1a2cfe67
push eax
call 0xffca193e
add esp, 0xc
push 0x2b
push 0x1a2cfeab
push eax
call 0xffca193e
add esp, 0xc
mov esi, eax
push dword [esp + 0x14]
lea ebx, [esp + 0x84]
push ebx
call fcn.00497b1e
add esp, 8
cmp byte [esp + 0x8b], 0
jns 0x494c7b
mov ebx, dword [esp + 0x80]
push ebx
call 0xffc740ae
add esp, 4
push eax
push ebx
push esi
call 0xffca193e
add esp, 0xc
mov ecx, 2
push ecx
push 0x1a2ced18
push eax
call 0xffca193e
add esp, 0xc
cmp byte [esp + 0x8b], 0
jns 0x494cbc
push dword [esp + 0x80]
call 0xffc3bd6e
add esp, 4
lea esi, [esp + 0x90]
mov ecx, esi
call 0xfca34dae
mov ebx, dword [esp + 4]
jmp 0x494b5c
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
lea ecx, [esp + 0x80]
call fcn.0049ee1e
xor eax, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov ebx, dword [esp + 4]
mov esi, dword [ebx + 0x14c]
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
call dword [0x1b2b4d20]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x74]
push eax
push esi
call ecx
test eax, eax
js 0x4948c6
mov dword [esp + 0x60], 0xa7
mov al, byte [0x1b4472b3]
test al, al
lea esi, [esp + 0x90]
jne 0x495275
mov eax, dword [ebx + 0x120]
mov ecx, dword [ebx + 0x124]
mov edx, eax
or edx, ecx
je 0x494f70
mov edx, dword [ebx + 0x128]
or edx, dword [ebx + 0x12c]
je 0x49545f
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
cmp edx, eax
mov ebx, esi
sbb ebx, ecx
jae 0x494d9a
mov dword [esp + 0x40], 0xa7
mov bl, byte [0x1b4472b3]
test bl, bl
jne 0x495413
xor ebx, ebx
dec ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
sub edx, eax
sbb esi, ecx
push dword [esp + 0x148]
push esi
push edx
lea eax, [esp + 0x4c]
push eax
call 0xffa7ad7e
add esp, 0x10
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x128]
mov ebx, dword [eax + 0x12c]
xor eax, eax
mov dword [esp + 8], edx
cmp ecx, edx
mov edx, esi
mov dword [esp], ebx
sbb edx, ebx
mov edx, 0
jb 0x494dff
sub ecx, dword [esp + 8]
sbb esi, dword [esp]
push 0
push 0xa
push esi
push ecx
call 0xffc4b96e
mov dword [esp], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x150], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x495358
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, esi
add eax, 0xffffffff
mov ebx, ecx
adc ebx, 0x7fffffff
add eax, 2
adc ebx, 0
cmp eax, 2
sbb ebx, 0
jae 0x494e73
mov eax, dword [esp]
xor eax, esi
xor edx, ecx
or edx, eax
je 0x495462
xor eax, eax
dec eax
mov ebx, eax
add ebx, 1
mov esi, 0x7fffffff
adc esi, 0
test ecx, ecx
cmovs ebx, eax
mov eax, 0x7fffffff
cmovs esi, eax
jmp 0x494e92
mov eax, dword [esp]
sub eax, esi
sbb edx, ecx
seto cl
mov ebx, edx
sar ebx, 0x1f
lea esi, [ebx - 0x80000000]
test cl, cl
cmove ebx, eax
test cl, cl
cmove esi, edx
mov eax, dword [esp + 0x144]
mov ecx, eax
shr ecx, 0x1f
add ecx, dword [esp + 0x140]
adc eax, 0
mov edx, eax
shld eax, ecx, 0x1f
sar edx, 1
cmp eax, ebx
sbb edx, esi
mov eax, dword [esp + 4]
lea ecx, [eax + 0x10]
jl 0x494ee3
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
sub esp, 8
movq xmm0, qword [esp + 0x60]
movq qword [esp], xmm0
call 0xfd46afde
lea esi, [esp + 0x90]
jmp 0x494f54
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
sub esp, 8
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
call 0xfd46afde
mov dword [esp + 0x154], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x4953a3
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
sub esp, 0x10
movq xmm0, qword [esp + 0x60]
movq qword [esp + 4], xmm0
lea esi, [esp + 0xa0]
mov dword [esp], esi
mov dword [esp + 0xc], 0
call fcn.0049ed2e
add esp, 0x10
lea ecx, [esp + 0x80]
push esi
call fcn.0049ee3e
mov dword [esp + 0x154], 0xa7
mov al, byte [0x1b4472b3]
test al, al
mov ebx, dword [esp + 4]
jne 0x4952f2
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], ecx
movsd xmm0, qword [esp + 0x68]
movsd qword [ebx + 0x128], xmm0
mov esi, dword [ebx + 0x8c]
mul esi
imul ecx, esi
add edx, ecx
push dword [esp + 0x14c]
push dword [esp + 0x14c]
push edx
push eax
call 0xffc4b96e
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 0x118]
sub ecx, eax
mov eax, dword [ebx + 0x11c]
sbb eax, edx
mov edx, 0
cmovb ecx, edx
cmovb eax, edx
push esi
push eax
push ecx
lea eax, [esp + 0x9c]
push eax
call 0xffa7ad7e
add esp, 0x10
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x7c], ecx
movsd xmm0, qword [esp + 0x68]
unpcklps xmm0, xmmword [0x1a12d840]
subpd xmm0, xmmword [0x1a12d850]
haddpd xmm0, xmm0
mov dword [esp + 0x78], eax
mulsd xmm0, qword [0x1a2aa160]
movsd xmm1, qword [0x1a12cdf0]
ucomisd xmm1, xmm0
jb 0x49504f
maxsd xmm0, qword [0x1a12cdf8]
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fisttp qword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x495071
ucomisd xmm0, qword [0x1a12cdf8]
mov edx, 0
mov eax, 0x7fffffff
cmovae edx, eax
mov ecx, 0
mov eax, 0xffffffff
cmovae ecx, eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x154], 0xa7
mov al, byte [0x1b4472b3]
test al, al
jne 0x4952b2
lea esi, [esp + 0x90]
jmp 0x4949c9
movzx ecx, al
mov dword [esp + 0x90], ebx
mov dword [esp + 0x80], 0x1a2cffed
lea edx, [esp + 0x40]
push esi
lea eax, [esp + 0x84]
push eax
call fcn.00495f4e
add esp, 8
jmp 0x494ba3
movzx eax, al
mov dword [esp + 0x90], 0
push 2
push esi
lea ecx, [esp + 0x88]
push ecx
push eax
call 0xffc9bdde
add esp, 0x10
jmp 0x494b74
mov eax, 2
lea ecx, [esp + 0x90]
push eax
push 0x275
push 0x1a2cfb76
call 0xfc2be45e
lea eax, [esp + 0x98]
push 6
push 0x1a2cfda9
push eax
call 0xffca193e
add esp, 0xc
push 0x15
push 0x1a2cfe67
push eax
call 0xffca193e
add esp, 0xc
push 0x2d
push 0x1a2cfe7d
push eax
call 0xffca193e
add esp, 0xc
mov esi, eax
lea ebx, [esp + 0x80]
push edi
push ebx
call fcn.00497b1e
add esp, 8
cmp byte [ebx + 0xb], 0
jns 0x495166
mov ebx, dword [esp + 0x80]
push ebx
call 0xffc740ae
add esp, 4
push eax
push ebx
push esi
call 0xffca193e
add esp, 0xc
mov ecx, 2
push ecx
push 0x1a2ced18
push eax
call 0xffca193e
add esp, 0xc
cmp byte [esp + 0x8b], 0
jns 0x4951a7
push dword [esp + 0x80]
call 0xffc3bd6e
add esp, 4
lea ecx, [esp + 0x90]
call 0xfca34dae
jmp 0x4948bf
movzx eax, al
lea ecx, [esp + 0x90]
mov dword [ecx], 0
lea edx, [esp + 0x80]
push 2
push ecx
push edx
push eax
call 0xffc9bdde
add esp, 0x10
jmp 0x49481e
movzx eax, al
lea ecx, [esp + 0x90]
mov dword [ecx], 0
lea edx, [esp + 0x80]
push 2
push ecx
push edx
push eax
call 0xffc9bdde
add esp, 0x10
jmp 0x494802
movzx ecx, al
lea eax, [esp + 0x148]
lea esi, [esp + 0x90]
mov dword [esi], eax
mov dword [esi + 4], ebx
lea eax, [esp + 0x80]
mov dword [eax], 0x1a2cfe67
lea edx, [esp + 0x40]
push esi
push eax
call fcn.0049566e
add esp, 8
jmp 0x494754
movzx ecx, cl
lea esi, [esp + 0x134]
lea eax, [esp + 0x90]
mov dword [eax], esi
lea edi, [esp + 0x80]
mov dword [edi], 0x1a2cffd9
lea edx, [esp + 0x40]
push eax
push edi
call fcn.00495d1e
add esp, 8
mov eax, dword [esi]
jmp 0x4947bf
movzx ecx, al
lea eax, [esp + 0x70]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
lea eax, [esp + 0x40]
mov dword [eax], 0x1a2d0022
lea edx, [esp + 0x60]
push esi
push eax
call fcn.0049645e
add esp, 8
jmp 0x494d4c
movzx ecx, al
lea eax, [esp + 0x40]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x94], eax
lea esi, [esp + 0x60]
mov dword [esi], 0
lea edx, [esp + 0x154]
lea eax, [esp + 0x90]
push eax
push esi
call fcn.004966ce
add esp, 8
jmp 0x495091
movzx eax, al
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x154]
push 2
push esi
push ecx
push eax
call 0xffc9bdde
add esp, 0x10
jmp 0x494f70
movzx ecx, al
mov edx, dword [esp + 0x13c]
lea eax, [esp + 0x40]
mov dword [eax], 0x1a2cffb1
lea esi, [esp + 0x90]
mov dword [esi], edx
lea edi, [esp + 0x80]
mov dword [edi], 0x1a13acbb
lea edx, [esp + 0x78]
push esi
push edi
push ebx
push eax
call fcn.004958be
add esp, 0x10
jmp 0x49486b
movzx ecx, al
lea eax, [esp + 0x40]
mov dword [esp + 0x90], eax
lea esi, [esp + 0x60]
mov dword [esp + 0x94], esi
lea eax, [esp + 0x154]
mov dword [eax], 0x1a2d000c
lea edx, [esp + 0x150]
lea ebx, [esp + 0x90]
push ebx
push eax
call fcn.0049617e
add esp, 8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
jmp 0x494e22
movzx eax, al
mov dword [esp + 0x90], 0x1a2d001b
lea ecx, [esp + 0x154]
push 8
push 0x49
push 0x1a136b10
push 3
lea edx, [esp + 0xa0]
push edx
push ecx
push eax
call fcn.0048342e
add esp, 0x1c
jmp 0x494f16
movzx eax, al
lea ecx, [esp + 0x90]
mov dword [ecx], 0x1a2cffcc
lea edx, [esp + 0x80]
push 8
push 0x49
push 0x1a136b10
push 3
push ecx
push edx
push eax
call fcn.0048342e
add esp, 0x1c
mov ecx, dword [esp + 0x13c]
jmp 0x494890
movzx eax, bl
mov dword [esp + 0x90], 0x1a2cfffa
lea ecx, [esp + 0x40]
push 8
push 0x49
push 0x1a136b10
push 3
lea edx, [esp + 0xa0]
push edx
push ecx
push eax
call fcn.0048342e
add esp, 0x1c
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x120]
mov ecx, dword [ecx + 0x124]
jmp 0x494d9a
int3
int3