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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
and dword [esp + 0x40], 0
and dword [esp + 0x48], 0
and dword [esp + 0x50], 0
and dword [esp + 0x58], 0
and dword [esp + 0x60], 0
and dword [esp + 0x68], 0
and dword [esp + 0x70], 0
and dword [esp + 0x78], 0
and dword [esp + 0x80], 0
and dword [esp + 0x88], 0
and dword [esp + 0x90], 0
and dword [esp + 0x98], 0
and dword [esp + 0xa0], 0
and dword [esp + 0xa8], 0
and dword [esp + 0xb0], 0
and dword [esp + 0xb8], 0
and dword [esp + 0xc0], 0
and dword [esp + 0xc8], 0
and dword [esp + 0xd0], 0
and dword [esp + 0xd8], 0
and dword [esp + 0xe0], 0
and dword [esp + 0xe8], 0
and dword [esp + 0xf0], 0
and dword [esp + 0xf8], 0
and dword [esp + 0x100], 0
and dword [esp + 0x108], 0
and dword [esp + 0x110], 0
and dword [esp + 0x118], 0
and dword [esp + 0x120], 0
mov edi, edx
and dword [esp + 0x128], 0
mov esi, ecx
and dword [esp + 0x130], 0
mov ebx, dword [ebp + 8]
and dword [esp + 0x138], 0
call fcn.00495924
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edi, eax
mov edx, ebx
sbb edx, ecx
cmovb ebx, ecx
mov dword [esp + 0x14], ebx
cmovb edi, eax
mov dword [esp + 0x18], edi
lea eax, [esi + 0x10]
mov dword [esp + 8], eax
mov dword [esp], esi
lea eax, [esi + 0x18]
mov dword [esp + 0x10], eax
push 0xfffffffffffffffe
pop ebx
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x10]
call fcn.004e65f2
test eax, eax
jne 0x4e8788
lea ecx, [esp + 0x20]
mov edx, dword [esp + 8]
call fcn.004e8310
mov eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
je 0x4e8765
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
sbb eax, ecx
jb 0x4e8765
mov edi, ecx
mov eax, dword [esp]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x28]
push 0x54c890
push dword [esp + 0x34]
call fcn.004e823a
pop ecx
pop edx
mov ecx, dword [esp + 0x34]
xor edx, edx
xor esi, esi
inc esi
shld edx, esi, cl
shl esi, cl
test cl, 0x20
cmovne edx, esi
mov dword [esp + 0x1c], edx
mov edx, 0
cmovne esi, edx
not esi
and dword [eax + 0x200], esi
mov edx, dword [esp + 0x1c]
not edx
and dword [eax + 0x204], edx
cmp ecx, 0x40
jae 0x4e88c1
mov edx, dword [eax + ecx*8]
mov esi, dword [eax + ecx*8 + 4]
and dword [eax + ecx*8], 0
and dword [eax + ecx*8 + 4], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x38]
call fcn.004e65f2
test eax, eax
je 0x4e874e
mov esi, eax
movq xmm0, qword [eax + 0x18]
pextrd edx, xmm0, 1
movd eax, xmm0
cmp eax, 0xfffffffe
mov ecx, edx
sbb ecx, 0xffffffff
jae 0x4e88d1
cmp dword [esp + 0xc], eax
mov ecx, edi
sbb ecx, edx
jb 0x4e86df
xor ecx, ecx
dec ecx
lock cmpxchg8b qword [esi + 0x18]
jne 0x4e86a7
pcmpeqd xmm0, xmm0
movq qword [esi + 8], xmm0
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.004e65b9
jmp 0x4e8685
movd xmm0, eax
pinsrd xmm0, edx, 1
xor edx, edi
xor eax, dword [esp + 0xc]
or eax, 0x3f
cmp eax, 0xfffffffe
mov ecx, edx
sbb ecx, 0xf
cmovae eax, ebx
movq qword [esi + 8], xmm0
push 0xf
pop ecx
cmovae edx, ecx
bsr ecx, edx
xor ecx, 0x1f
bsr eax, eax
xor eax, 0x1f
or al, 0x20
test edx, edx
movzx eax, al
cmovne eax, ecx
xor al, 0x3e
movzx eax, al
mov cl, 6
div cl
movzx eax, al
mov edx, dword [esp]
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x28]
push 0x54c850
push eax
call fcn.004e823a
pop ecx
pop edx
mov ecx, eax
mov edx, esi
call fcn.004e1963
jmp 0x4e8685
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
push dword [esp + 0x2c]
call fcn.004e891d
pop eax
jmp 0x4e85cd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x18]
push dword [esp + 0x14]
call fcn.004e891d
pop eax
mov ecx, dword [esp + 0x10]
call fcn.004e65f2
test eax, eax
je 0x4e881a
mov ecx, eax
xor edx, edx
call fcn.004e8209
test eax, eax
je 0x4e85cd
mov edi, dword [esp + 4]
cmp edi, 0x1f
ja 0x4e8900
mov esi, eax
mov eax, dword [esp + edi*8 + 0x40]
test eax, eax
je 0x4e87c2
push dword [esp + edi*8 + 0x44]
mov dword [esp + 0x10], edx
call dword [eax + 0xc]
mov edx, dword [esp + 0x10]
add esp, 4
mov dword [esp + edi*8 + 0x40], esi
mov dword [esp + edi*8 + 0x44], edx
inc edi
mov dword [esp + 4], edi
cmp edi, 0x20
jne 0x4e85cd
mov ecx, dword [esp]
call fcn.00495915
xor eax, eax
cmp eax, 0x20
je 0x4e880d
lea esi, [eax + 1]
mov ecx, dword [esp + eax*8 + 0x40]
mov edx, dword [esp + eax*8 + 0x44]
and dword [esp + eax*8 + 0x40], 0
push 0x54c8d0
call fcn.004044aa
pop ecx
push edx
call dword [eax + 4]
add esp, 4
mov eax, esi
jmp 0x4e87e2
mov ecx, dword [esp]
call fcn.00495924
jmp 0x4e85c5
lea esi, [esp + 0x140]
mov ecx, esi
mov edx, dword [esp + 8]
call fcn.004e8310
mov ecx, dword [esi + 8]
xor eax, eax
cmp ecx, 1
mov edx, ecx
adc edx, eax
mov edi, dword [esi + 0xc]
test edi, edi
mov ebx, 1
cmovne ebx, ecx
cmove ebx, edx
mov ecx, dword [esi]
or ecx, dword [esi + 4]
cmove ebx, eax
cmove edi, eax
mov ecx, dword [esp]
mov dword [ecx + 0xc], edi
mov dword [ecx + 8], ebx
call fcn.00495915
mov edi, dword [esp + 4]
cmp edi, 0x21
jae 0x4e890c
shl edi, 3
lea eax, [esp + 0x40]
test edi, edi
je 0x4e889d
lea esi, [eax + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
and dword [eax], 0
push 0x54c8f0
call fcn.004044aa
pop ecx
push edx
call dword [eax + 4]
add esp, 4
add edi, 0xfffffff8
mov eax, esi
jmp 0x4e8875
xor esi, esi
cmp esi, 0x20
je 0x4e88b9
mov eax, dword [esp + esi*8 + 0x40]
test eax, eax
je 0x4e88b6
push dword [esp + esi*8 + 0x44]
call dword [eax + 0xc]
add esp, 4
inc esi
jmp 0x4e889f
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x40
pop edx
push 0x54ab50
call fcn.00506bf0
pop eax
ud2
lea ecx, [esp + 0x140]
mov dword [ecx], 0x54c738
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
and dword [ecx + 0xc], 0
mov edx, 0x54c764
call fcn.00506b50
ud2
push 0x20
pop edx
mov ecx, edi
push 0x54c8c0
jmp 0x4e88c9
push 0x20
pop edx
mov ecx, edi
push 0x54c8e0
call fcn.00506c60
jmp 0x4e88ce