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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x170
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
and dword [esp + 0x128], 0
and dword [esp + 0x130], 0
and dword [esp + 0x138], 0
and dword [esp + 0x140], 0
mov edi, dword [ebp + 8]
and dword [esp + 0x148], 0
mov esi, edx
mov dword [esp + 0x28], ecx
call fcn.005fed9d
mov ebx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov byte [esp + 7], dl
mov edx, esi
mov dword [esp + 8], eax
cmp ebx, esi
cmova edx, ebx
cmp ecx, edi
cmova esi, ebx
cmova edi, ecx
cmove esi, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
push 0xfffffffffffffffe
pop ebx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
lea edi, [eax + 0x18]
add eax, 0x20
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x10]
call fcn.005feda6
test eax, eax
jne 0x5febd2
lea ecx, [esp + 0x30]
mov edx, edi
call fcn.005fe53c
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x34]
je 0x5febb1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
sbb edx, ecx
jb 0x5febb1
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x30]
push 0xa10650
push dword [esp + 0x44]
call fcn.005fedc7
pop ecx
pop edx
mov ecx, dword [esp + 0x44]
mov esi, eax
xor eax, eax
xor edi, edi
mov edx, 0
inc edi
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, edx
not edi
not eax
and dword [esi + 0x200], edi
and dword [esi + 0x204], eax
cmp ecx, 0x40
jae 0x5fed45
mov edx, dword [esi + ecx*8]
mov edi, dword [esi + ecx*8 + 4]
and dword [esi + ecx*8], 0
and dword [esi + ecx*8 + 4], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edi
lea ecx, [esp + 0x48]
call fcn.005feda6
test eax, eax
je 0x5feb98
movq xmm0, qword [eax + 0x18]
xor ecx, ecx
mov edi, eax
dec ecx
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
push 0xfffffffffffffffd
pop esi
cmp esi, eax
sbb ecx, edx
jb 0x5fed55
cmp dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
sbb ecx, edx
jb 0x5feb1f
xor ecx, ecx
dec ecx
lock cmpxchg8b qword [edi + 0x18]
jne 0x5feae6
pcmpeqd xmm0, xmm0
mov edx, edi
movq qword [edi + 8], xmm0
mov ecx, dword [esp + 0x10]
call fcn.005fede8
jmp 0x5feabe
movd xmm0, eax
movd xmm1, edx
mov ecx, ebx
punpckldq xmm0, xmm1
movq qword [edi + 8], xmm0
xor eax, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
or eax, 0x3f
cmp eax, ebx
cmovb ecx, eax
cmp edx, 0xf
cmovae eax, ebx
cmove eax, ecx
push 0xf
pop ecx
cmovae edx, ecx
bsr eax, eax
xor eax, 0x1f
bsr ecx, edx
or al, 0x20
xor ecx, 0x1f
test edx, edx
movzx eax, al
cmovne eax, ecx
mov cl, 6
xor al, 0x3e
movzx eax, al
div cl
mov edx, dword [esp + 8]
movzx eax, al
mov ecx, dword [edx + 0x28]
mov edx, dword [edx + 0x30]
push 0xa10610
push eax
call fcn.005fedc7
pop ecx
pop edx
mov ecx, eax
mov edx, edi
call fcn.005fee21
jmp 0x5feabe
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, edi
push dword [esp + 0x3c]
call fcn.005fee7e
pop eax
jmp 0x5fea0b
mov edx, dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x18]
call fcn.005fee7e
pop eax
mov ecx, dword [esp + 0x10]
call fcn.005feda6
test eax, eax
je 0x5fec81
mov ecx, eax
xor edx, edx
call fcn.005feef0
test eax, eax
je 0x5fe9f9
mov ecx, dword [esp + 0xc]
cmp ecx, 0x1f
ja 0x5fed84
mov edi, eax
mov eax, dword [esp + ecx*8 + 0x50]
mov esi, edx
test eax, eax
je 0x5fec0a
push dword [esp + ecx*8 + 0x54]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp + ecx*8 + 0x50], edi
mov dword [esp + ecx*8 + 0x54], esi
inc ecx
add eax, 8
cmp ecx, 0x20
jne 0x5fe9f1
xor edx, edx
cmp byte [esp + 7], 0
mov ecx, dword [esp + 8]
setne dl
call fcn.0045f4ab
push 0xffffffffffffffe0
pop esi
test esi, esi
je 0x5fec68
mov ecx, dword [esp + esi*8 + 0x150]
mov edx, dword [esp + esi*8 + 0x154]
and dword [esp + esi*8 + 0x150], 0
push 0xa10740
call fcn.0042d72b
pop ecx
push edx
call dword [eax + 4]
add esp, 4
inc esi
jmp 0x5fec39
mov ecx, dword [esp + 0x28]
call fcn.005fed9d
and dl, 1
mov dword [esp + 8], eax
mov byte [esp + 7], dl
jmp 0x5fe9ed
mov ebx, dword [esp + 8]
lea esi, [esp + 0x150]
mov edx, edi
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0xc], ecx
mov ecx, esi
mov dword [ebx + 8], eax
call fcn.005fe53c
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
xor edx, edx
mov edi, ecx
or edi, eax
mov edi, 1
cmovne edi, ecx
mov ecx, dword [esi]
cmove eax, edx
or ecx, dword [esi + 4]
mov ecx, ebx
cmove edi, edx
cmove eax, edx
xor edx, edx
cmp byte [esp + 7], 0
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], edi
setne dl
call fcn.0045f4ab
mov ecx, dword [esp + 0xc]
cmp ecx, 0x21
jae 0x5fed8e
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x50]
test edi, edi
je 0x5fed17
mov ecx, dword [eax]
mov edx, dword [eax + 4]
and dword [eax], 0
lea esi, [eax + 8]
push 0xa10720
call fcn.0042d72b
pop ecx
push edx
call dword [eax + 4]
add esp, 4
add edi, 0xfffffff8
mov eax, esi
jmp 0x5fecef
mov esi, 0xffffff00
test esi, esi
je 0x5fed3d
mov eax, dword [esp + esi + 0x150]
test eax, eax
je 0x5fed38
push dword [esp + esi + 0x154]
call dword [eax + 0xc]
add esp, 4
add esi, 8
jmp 0x5fed1c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x40
pop edx
push 0xa10570
call fcn.0063cc20
pop eax
ud2
lea ecx, [esp + 0x150]
mov edx, 0xa104a4
mov dword [ecx], 0xa10440
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.dest_is_out_of_bounds
and dword [ecx + 0xc], 0
call fcn.0063cbf0
ud2
push 0x20
pop edx
push 0xa10730
jmp 0x5fed4d
push 0x20
pop edx
push 0xa10710
call fcn.0063cd00
jmp 0x5fed52