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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [0x6f4e3c]
xor eax, ebp
mov dword [esp + 0x148], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
test edx, edx
je 0x4e5d67
movups xmm0, xmmword [edx + 0x1c]
movups xmmword [esp + 0x5c], xmm0
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
movaps xmmword [esp + 0x50], xmm1
movaps xmmword [esp + 0x40], xmm0
jmp 0x4e5d74
lea eax, [esp + 0x40]
push eax
call fcn.004f8220
add esp, 4
lea ebx, [esp + 0x40]
mov dword [ebx + 0x2c], edi
push 5
push esi
push ebx
call fcn.004f80cc
add esp, 0xc
mov dword [ebx + 0x30], eax
test eax, eax
je 0x4e655b
xor edi, edi
push 2
push edi
push edi
push eax
push ebx
mov esi, eax
call fcn.004f80f6
add esp, 0x14
test eax, eax
jne 0x4e5ef1
push esi
lea eax, [esp + 0x44]
push eax
call fcn.004f813a
add esp, 8
mov ebx, 0xffff
cmp eax, ebx
mov ecx, edx
sbb ecx, 0
mov dword [esp + 0x18], edx
cmovb edi, edx
mov dword [esp + 0x1c], eax
cmovb ebx, eax
mov dword [esp + 4], ebx
push 0x404
call fcn.00491250
add esp, 4
test eax, eax
je 0x4e5ef1
mov ebx, eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov esi, 4
mov dword [esp + 8], edi
cmp esi, dword [esp + 4]
mov eax, dword [esp]
sbb eax, edi
jae 0x4e5ee8
add esi, 0x400
mov edi, dword [esp]
adc edi, 0
mov edx, dword [esp + 4]
cmp edx, esi
mov ecx, dword [esp + 8]
mov eax, ecx
sbb eax, edi
cmovb edi, ecx
cmovb esi, edx
mov ecx, dword [esp + 0x1c]
sub ecx, esi
mov edx, dword [esp + 0x18]
sbb edx, edi
mov eax, 0x404
cmp esi, eax
mov dword [esp], edi
mov eax, edi
sbb eax, 0
mov edi, 0x404
cmovb edi, esi
push 0
mov dword [esp + 0x14], edx
push edx
mov dword [esp + 0x1c], ecx
push ecx
push dword [esp + 0x18]
lea eax, [esp + 0x50]
push eax
call fcn.004f80f6
add esp, 0x14
test eax, eax
jne 0x4e5ee8
push edi
push ebx
push dword [esp + 0x14]
push dword [esp + 0x68]
call dword [esp + 0x54]
add esp, 0x10
cmp eax, edi
jne 0x4e5ee8
xor ecx, ecx
mov edx, 0
cmp edi, 4
jl 0x4e5ec2
add edi, 0xfffffffc
cmp byte [ebx + edi], 0x50
jne 0x4e5eb5
cmp byte [ebx + edi + 1], 0x4b
jne 0x4e5eb5
cmp byte [ebx + edi + 2], 6
jne 0x4e5eb5
cmp byte [ebx + edi + 3], 7
je 0x4e5ed5
lea eax, [edi - 1]
test edi, edi
mov edi, eax
jg 0x4e5e9a
xor ecx, ecx
xor edx, edx
mov eax, ecx
or eax, edx
mov edi, dword [esp + 8]
je 0x4e5e03
jmp 0x4e608a
mov eax, edi
sar eax, 0x1f
mov ecx, dword [esp + 0x14]
add ecx, edi
mov edx, dword [esp + 0x10]
adc edx, eax
jmp 0x4e5ec2
push ebx
call fcn.00491290
add esp, 4
mov eax, dword [esp + 0x70]
xor edi, edi
push 2
push edi
push edi
mov dword [esp + 0x10], eax
push eax
lea ebx, [esp + 0x50]
push ebx
call fcn.004f80f6
add esp, 0x14
mov edx, 0
mov ecx, 0
xor esi, esi
dec esi
mov dword [esp], esi
test eax, eax
jne 0x4e6302
push dword [esp + 4]
push ebx
call fcn.004f813a
add esp, 8
mov esi, 0xffff
cmp eax, esi
mov ecx, edx
sbb ecx, 0
mov ecx, 0
mov dword [esp + 0x18], edx
cmovb ecx, edx
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], eax
cmovb esi, eax
mov dword [esp + 0xc], esi
push 0x404
call fcn.00491250
add esp, 4
test eax, eax
je 0x4e6077
mov ebx, eax
mov dword [esp], 0
mov esi, 4
cmp esi, dword [esp + 0xc]
mov eax, dword [esp]
sbb eax, dword [esp + 8]
jae 0x4e605f
add esi, 0x400
mov edi, dword [esp]
adc edi, 0
mov ecx, dword [esp + 0xc]
cmp ecx, esi
mov edx, dword [esp + 8]
mov eax, edx
sbb eax, edi
cmovb edi, edx
cmovb esi, ecx
mov ecx, dword [esp + 0x1c]
sub ecx, esi
mov edx, dword [esp + 0x18]
sbb edx, edi
mov eax, 0x404
cmp esi, eax
mov dword [esp], edi
mov eax, edi
sbb eax, 0
mov edi, 0x404
cmovb edi, esi
push 0
mov dword [esp + 0x14], edx
push edx
mov dword [esp + 0x1c], ecx
push ecx
push dword [esp + 0x10]
lea eax, [esp + 0x50]
push eax
call fcn.004f80f6
add esp, 0x14
test eax, eax
jne 0x4e605f
push edi
push ebx
push dword [esp + 0xc]
push dword [esp + 0x68]
call dword [esp + 0x54]
add esp, 0x10
cmp eax, edi
jne 0x4e605f
xor edx, edx
mov ecx, 0
cmp edi, 4
jl 0x4e603d
add edi, 0xfffffffc
cmp byte [ebx + edi], 0x50
jne 0x4e6030
cmp byte [ebx + edi + 1], 0x4b
jne 0x4e6030
cmp byte [ebx + edi + 2], 5
jne 0x4e6030
cmp byte [ebx + edi + 3], 6
je 0x4e604c
lea eax, [edi - 1]
test edi, edi
mov edi, eax
jg 0x4e6015
xor edx, edx
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x4e5f7c
jmp 0x4e62e4
mov eax, edi
sar eax, 0x1f
mov edx, dword [esp + 0x14]
add edx, edi
mov ecx, dword [esp + 0x10]
adc ecx, eax
jmp 0x4e603d
push ebx
call fcn.00491290
add esp, 4
xor edx, edx
xor ecx, ecx
xor esi, esi
dec esi
mov dword [esp], esi
jmp 0x4e62fc
xor edx, edx
xor eax, eax
dec eax
mov dword [esp], eax
lea ebx, [esp + 0x40]
xor ecx, ecx
jmp 0x4e6302
push ebx
mov esi, ecx
mov edi, edx
call fcn.00491290
add esp, 4
push 0
push edi
push esi
mov ebx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x50]
push eax
call fcn.004f80f6
add esp, 0x14
test eax, eax
jne 0x4e5ef1
lea edi, [esp + 0x20]
lea ecx, [esp + 0x40]
mov edx, ebx
push edi
call fcn.004e7884
add esp, 4
test eax, eax
jne 0x4e5ef1
lea ecx, [esp + 0x40]
mov edx, ebx
push edi
call fcn.004e7884
add esp, 4
or eax, dword [esp + 0x20]
jne 0x4e5ef1
lea eax, [esp + 0x38]
lea ecx, [esp + 0x40]
mov edx, ebx
push eax
call fcn.004e7998
add esp, 4
test eax, eax
jne 0x4e5ef1
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, ebx
push edi
call fcn.004e7884
add esp, 4
test eax, eax
jne 0x4e5ef1
cmp dword [esp + 0x20], 1
jne 0x4e5ef1
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
push 0
mov dword [esp + 8], eax
push eax
mov dword [esp + 0x10], ecx
push ecx
push ebx
push esi
call fcn.004f80f6
add esp, 0x14
test eax, eax
jne 0x4e5ef1
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, ebx
push edi
call fcn.004e7884
add esp, 4
test eax, eax
jne 0x4e5ef1
cmp dword [esp + 0x20], 0x6064b50
jne 0x4e5ef1
mov eax, dword [esp + 8]
or eax, dword [esp + 4]
je 0x4e5ef1
lea ebx, [esp + 0x78]
mov dword [ebx + 0xb0], 1
xor eax, eax
push eax
push dword [esp + 8]
push dword [esp + 0x10]
push dword [ebx - 8]
push esi
call fcn.004f80f6
add esp, 0x14
mov dword [esp], eax
mov edx, dword [ebx - 8]
lea eax, [esp + 0x34]
mov ecx, esi
mov ebx, esi
push eax
call fcn.004e7884
add esp, 4
mov esi, eax
or esi, dword [esp]
lea eax, [esp + 0x78]
mov edx, dword [eax - 8]
mov ecx, ebx
push edi
call fcn.004e7998
add esp, 4
mov dword [esp], eax
lea edi, [esp + 0x78]
mov edx, dword [edi - 8]
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.004e7bca
add esp, 4
or eax, dword [esp]
or eax, esi
mov dword [esp], eax
mov edx, dword [edi - 8]
mov esi, edi
mov ecx, ebx
lea eax, [esp + 0x28]
push eax
call fcn.004e7bca
add esp, 4
mov edi, eax
mov edx, dword [esi - 8]
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
call fcn.004e7884
add esp, 4
mov esi, eax
or esi, edi
lea eax, [esp + 0x78]
mov edx, dword [eax - 8]
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.004e7884
add esp, 4
mov edi, eax
or edi, esi
or edi, dword [esp]
lea eax, [esp + 0x78]
mov edx, dword [eax - 8]
mov ecx, ebx
push eax
mov ebx, eax
call fcn.004e7998
add esp, 4
mov esi, eax
or esi, edi
mov edx, dword [ebx - 8]
lea ecx, [esp + 0x40]
mov edi, ecx
lea eax, [esp + 0x38]
push eax
call fcn.004e7998
add esp, 4
xor ebx, ebx
or eax, esi
setne bl
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x78]
xor eax, dword [edx + 4]
mov ecx, dword [esp + 0x38]
xor ecx, dword [edx]
neg ebx
lea edx, [esp + 0x30]
mov edx, dword [edx]
lea esi, [esp + 0x2c]
or edx, dword [esi]
mov edx, 0xffffff99
cmovne ebx, edx
or ecx, eax
cmovne ebx, edx
lea eax, [esp + 0xb0]
mov edx, dword [eax - 0x40]
mov ecx, edi
push eax
call fcn.004e7998
add esp, 4
mov esi, eax
lea edi, [esp + 0xb8]
mov edx, dword [edi - 0x48]
lea ecx, [esp + 0x40]
push edi
call fcn.004e7998
add esp, 4
xor edx, edx
dec edx
or eax, esi
mov eax, 0
mov dword [edi - 0x38], eax
cmove edx, ebx
jmp 0x4e6466
push ebx
mov esi, ecx
mov edi, edx
call fcn.00491290
mov edx, edi
mov ecx, esi
add esp, 4
mov dword [esp], 0
lea ebx, [esp + 0x40]
xor edi, edi
lea eax, [esp + 0x80]
mov dword [eax + 0xa8], edi
push edi
mov dword [esp + 8], ecx
push ecx
mov dword [esp + 0x10], edx
push edx
push dword [eax - 0x10]
mov edi, eax
push ebx
call fcn.004f80f6
add esp, 0x14
mov esi, eax
mov edx, dword [edi - 0x10]
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
call fcn.004e7884
add esp, 4
mov edi, eax
or edi, esi
lea eax, [esp + 0x80]
mov edx, dword [eax - 0x10]
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
call fcn.004e7bca
add esp, 4
mov esi, eax
lea eax, [esp + 0x80]
mov edx, dword [eax - 0x10]
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.004e7bca
add esp, 4
mov ebx, eax
or ebx, esi
or ebx, edi
lea eax, [esp + 0x80]
mov edx, dword [eax - 0x10]
lea ecx, [esp + 0x40]
lea edi, [esp + 0x34]
push edi
call fcn.004e7bca
add esp, 4
mov esi, eax
or esi, ebx
lea ebx, [esp + 0x40]
mov eax, dword [edi]
lea ecx, [esp + 0x80]
xor edx, edx
mov dword [ecx - 4], edx
mov dword [ecx - 8], eax
mov edx, dword [ecx - 0x10]
mov ecx, ebx
push edi
call fcn.004e7bca
add esp, 4
or eax, esi
mov ebx, dword [esp]
mov eax, 0xffffffff
cmovne ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x38], eax
lea esi, [esp + 0x80]
xor eax, dword [esi - 8]
lea ecx, [esp + 0x30]
mov ecx, dword [ecx]
lea edx, [esp + 0x2c]
or ecx, dword [edx]
mov ecx, 0xffffff99
cmovne ebx, ecx
or eax, dword [esi - 4]
mov eax, 0
mov dword [esp + 0x3c], eax
cmovne ebx, ecx
mov edx, dword [esi - 0x10]
lea esi, [esp + 0x40]
mov ecx, esi
push edi
call fcn.004e7884
add esp, 4
mov dword [esp], eax
mov eax, dword [edi]
lea ecx, [esp + 0x80]
xor edx, edx
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x30], eax
mov edx, dword [ecx - 0x10]
mov ecx, esi
push edi
mov esi, edi
call fcn.004e7884
add esp, 4
mov edi, eax
or edi, dword [esp]
mov eax, dword [esi]
lea ecx, [esp + 0x80]
xor edx, edx
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x38], eax
mov edx, dword [ecx - 0x10]
mov eax, ecx
lea ecx, [esp + 0x40]
push eax
call fcn.004e7bca
mov edx, ebx
add esp, 4
or eax, edi
mov eax, 0xffffffff
cmovne edx, eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
add ecx, dword [esp + 0xb8]
adc eax, dword [esp + 0xbc]
test edx, edx
jne 0x4e654c
cmp dword [esp + 8], ecx
mov edx, dword [esp + 4]
sbb edx, eax
jb 0x4e654c
mov edi, dword [esp + 8]
mov edx, edi
sub edx, ecx
mov esi, dword [esp + 4]
mov ecx, esi
sbb ecx, eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], esi
xor edi, edi
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], edi
push 0x100
call fcn.00491250
add esp, 4
test eax, eax
je 0x4e655d
mov esi, eax
push 0x100
lea eax, [esp + 0x44]
push eax
push esi
call fcn.006025b0
add esp, 0xc
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
xor edi, edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edi
lea eax, [esi + 0xd8]
mov edx, esi
sub edx, 0xffffff80
sub esp, 0x1c
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov ecx, esi
call fcn.004e66b3
add esp, 0x1c
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], ecx
mov edi, esi
jmp 0x4e655d
push dword [esp + 0x70]
push dword [esp + 0x60]
call dword [esp + 0x5c]
add esp, 8
xor edi, edi
mov ecx, dword [esp + 0x148]
xor ecx, ebp
call fcn.00517c1a
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret