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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xc8], ebp
mov dword [esi + 0xcc], esp
mov dword [esi + 0xd8], 0xffffffff
mov dword [esi + 0xd4], 0x4f0270
mov dword [esi + 0x14], edx
lea eax, [esi + 0xd0]
mov edx, dword fs:[0]
mov dword [esi + 0xd0], edx
mov dword fs:[0], eax
mov eax, ecx
mov edx, dword [ecx + 0xc]
mov ecx, edx
inc ecx
jne 0x5ae326
push 1
call fcn.00537ff0
add esp, 4
jmp 0x5ae945
mov ebx, dword [eax + 4]
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], edx
lea eax, [ebx + 1]
mov dword [esi + 0x1c], ebx
mov edx, eax
mov edi, eax
shr edx, 3
and edi, 0xfffffff8
sub edi, edx
cmp ebx, 8
cmovb edi, ebx
mov edx, edi
shr edx, 1
cmp ecx, edx
jbe 0x5ae374
inc edi
cmp ecx, edi
cmova edi, ecx
cmp edi, 8
mov ebx, edi
jae 0x5ae3e5
xor eax, eax
cmp ebx, 4
setae al
lea edi, [eax*4 + 4]
jmp 0x5ae96d
test eax, eax
mov dword [esi + 0x30], edi
je 0x5ae427
mov ecx, dword [esi + 0x18]
pxor xmm0, xmm0
cmp eax, 0x11
mov ecx, dword [ecx]
pcmpgtb xmm0, xmmword [ecx]
mov dword [esi + 8], ecx
por xmm0, xmmword [0x5c6610]
movdqa xmmword [ecx], xmm0
jb 0x5ae3cb
movdqa xmm0, xmmword [0x5c6610]
mov edx, dword [esi + 8]
mov ecx, 0x10
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [edx + ecx]
por xmm1, xmm0
movdqa xmmword [edx + ecx], xmm1
add ecx, 0x10
jb 0x5ae3cb
cmp ecx, eax
jb 0x5ae3b0
cmp eax, 0x10
jae 0x5ae42e
mov edi, dword [esi + 8]
lea ecx, [edi + 0x10]
push eax
push edi
push ecx
call fcn.005885b0
mov eax, edi
add esp, 0xc
jmp 0x5ae447
cmp ebx, 0x20000000
jae 0x5ae95a
shl ebx, 3
mov edi, 1
cmp ebx, 0xe
jb 0x5ae96d
mov ecx, 0x24924925
mov eax, ebx
mov edi, 0xffffffff
mul ecx
sub ebx, edx
shr ebx, 1
add ebx, edx
shr ebx, 2
dec ebx
bsr ecx, ebx
not ecx
shr edi, cl
inc edi
jmp 0x5ae96d
xor ecx, ecx
jmp 0x5ae937
mov ecx, dword [esi + 8]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movq qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
mov eax, ecx
mov edx, dword [esi + 0x14]
lea ecx, [eax - 0x48]
xor edi, edi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x34], ecx
movdqu xmm0, xmmword [edx]
pshufd xmm1, xmm0, 0x44
movdqa xmmword [esi + 0xa0], xmm0
pshufd xmm0, xmm0, 0xee
pxor xmm1, xmmword [str.uespemosarenegylmodnarodsetybdetGetProcAddress_failed_but_GetLastError_did_not_report_the_errorC:Userscompile_bamboo.cargo_registry_srcindex.crates.io_6f17d22bba15001flibloading_0.5.2_srcoswindowsmod.rs]
pxor xmm0, xmmword [0x5b4570]
movdqa xmmword [esi + 0x90], xmm1
movdqa xmmword [esi + 0xb0], xmm0
jmp 0x5ae4bd
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov ebx, eax
lea eax, [ecx - 0x10]
shr edx, 0x19
and eax, edi
mov byte [ebx + ecx], dl
mov byte [eax + ebx + 0x10], dl
mov ebx, edi
mov edi, ecx
mov eax, dword [esi + 8]
add dword [esi + 0x2c], 0xffffffb8
cmp edi, ebx
lea edi, [edi + 1]
je 0x5ae934
cmp byte [eax + edi], 0x80
jne 0x5ae4ab
mov ecx, dword [esi + 8]
lea eax, [edi*8]
mov dword [esi + 0xc], edi
lea eax, [eax + eax*8]
mov edx, ecx
sub edx, eax
neg eax
lea eax, [ecx + eax - 0x48]
mov dword [esi + 0x38], edx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x3c], eax
mov eax, edi
not eax
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
mov dword [esi + 0x28], eax
mov eax, edi
neg eax
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [esi + 0x20], eax
jmp 0x5ae563
mov ecx, dword [esi + 0x28]
movups xmm1, xmmword [eax]
movups xmm0, xmmword [ecx]
movups xmmword [ecx], xmm1
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm1
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmm1, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm1
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmm1, xmmword [eax + 0x30]
movups xmmword [ecx + 0x30], xmm1
movups xmmword [eax + 0x30], xmm0
movq xmm0, qword [ecx + 0x40]
movq xmm1, qword [eax + 0x40]
movq qword [ecx + 0x40], xmm1
movq qword [eax + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x90]
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x70]
lea edx, [esi + 0x80]
movups xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0xb0]
movups xmmword [esi + 0x50], xmm0
movaps xmm0, xmmword [esi + 0xa0]
movups xmmword [esi + 0x60], xmm0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
movsd xmm0, qword [ecx]
lea ecx, [esi + 0x40]
movsd qword [esi + 0x80], xmm0
push 8
call fcn.0045cb20
add esp, 4
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x5c]
movups xmm0, xmmword [esi + 0x48]
movdqu xmm4, xmmword [esi + 0x40]
shl eax, 0x18
xor edx, ecx
or eax, dword [esi + 0x74]
movd xmm3, edx
movd xmm1, edx
xor edi, eax
movd xmm2, edi
punpckldq xmm1, xmm2
punpcklqdq xmm2, xmm3
shufps xmm2, xmm0, 0xe2
punpcklqdq xmm1, xmm4
movaps xmm4, xmm0
movaps xmm3, xmm2
paddq xmm1, xmm0
psrlq xmm4, 0x33
psllq xmm2, 0x10
psllq xmm0, 0xd
psrlq xmm3, 0x30
movsd xmm0, xmm2
movsd xmm4, xmm3
orpd xmm0, xmm4
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
pshufd xmm2, xmm1, 0xff
movd edi, xmm2
pshufd xmm2, xmm1, 0x55
orpd xmm0, xmm3
movd edx, xmm2
xor edi, 0xff
xorpd xmm0, xmm1
xor edx, eax
movd eax, xmm1
movd xmm2, edi
xor eax, ecx
movd xmm4, edx
shufpd xmm1, xmm2, 1
movapd xmm2, xmm0
movd xmm3, eax
shufps xmm1, xmm0, 0xe2
psrlq xmm2, 0x30
punpcklqdq xmm4, xmm3
movaps xmm3, xmm0
shufps xmm3, xmm4, 0x24
paddq xmm1, xmm3
movaps xmm3, xmm0
psrlq xmm3, 0x33
movsd xmm3, xmm2
movaps xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
movapd xmm2, xmm0
movapd xmm3, xmm0
movapd xmm4, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
psllq xmm4, 0x11
movsd xmm3, xmm2
movapd xmm2, xmm0
psllq xmm2, 0x15
movsd xmm4, xmm2
orpd xmm4, xmm3
movapd xmm2, xmm4
shufpd xmm2, xmm1, 1
xorpd xmm4, xmm2
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movd eax, xmm4
movd ecx, xmm0
pshufd xmm0, xmm2, 0xff
movd edx, xmm0
xor eax, edx
xor eax, ecx
mov ecx, ebx
and ecx, eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x14], ecx
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x5ae858
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, ebx
mov ebx, 0x10
nop dword [eax]
add ecx, ebx
add ebx, 0x10
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x5ae840
mov ebx, eax
mov eax, edi
tzcnt edx, edx
mov edi, dword [esi + 0xc]
add edx, ecx
and edx, ebx
cmp byte [eax + edx], 0
js 0x5ae875
movdqa xmm0, xmmword [eax]
pmovmskb ecx, xmm0
tzcnt edx, ecx
mov ecx, edi
mov edi, dword [esi + 0x14]
mov ebx, edx
sub ecx, edi
sub ebx, edi
mov edi, dword [esi + 0x1c]
xor ebx, ecx
and ebx, edi
cmp ebx, 0x10
jb 0x5ae490
mov ecx, eax
movzx eax, byte [eax + edx]
mov ebx, dword [esi + 0x10]
mov byte [esi + 0x14], al
mov eax, edi
lea edi, [edx - 0x10]
shr ebx, 0x19
and edi, eax
mov eax, edx
mov byte [ecx + edx], bl
cmp byte [esi + 0x14], 0xff
mov byte [edi + ecx + 0x10], bl
mov ebx, dword [esi + 0x1c]
not eax
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
je 0x5ae910
shl edx, 3
lea edx, [edx + edx*8]
sub ecx, edx
cmp dword [esi + 0x3c], ecx
jae 0x5ae510
cmp eax, dword [esi + 0x38]
jae 0x5ae510
mov edi, dword [esi + 0x2c]
mov eax, 0xffffffb8
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [edi + eax]
mov dh, byte [ecx + eax]
mov byte [edi + eax], dh
mov byte [ecx + eax], dl
inc eax
jne 0x5ae8f0
jmp 0x5ae563
mov edi, dword [esi + 0xc]
lea edx, [edi - 0x10]
mov byte [ecx + edi], 0xff
and edx, ebx
mov byte [edx + ecx + 0x10], 0xff
push 0x48
push dword [esi + 0x28]
push eax
call fcn.005885b0
add esp, 0xc
jmp 0x5ae4ab
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
mov dword [eax + 8], ecx
mov eax, 0x80000001
mov ecx, dword [esi + 0xd0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 1
call fcn.00537ff0
add esp, 4
cmp eax, 0x80000001
jne 0x5ae945
mov edi, edx
mov ecx, 0x48
mov eax, edi
mul ecx
jo 0x5ae317
mov ebx, eax
lea edx, [edi + 0x10]
add ebx, 0xf
and ebx, 0xfffffff0
mov ecx, ebx
add ecx, edx
jb 0x5ae317
cmp ecx, 0x7ffffff1
jae 0x5ae317
test ecx, ecx
je 0x5ae9d4
movzx eax, byte [0x636fbd]
push 0x10
mov dword [esi + 8], ecx
push ecx
mov dword [esi + 0x10], edx
call fcn.00452e20
mov edx, dword [esi + 0x10]
add esp, 8
test eax, eax
jne 0x5ae9d9
push dword [esi + 8]
push 0x10
push 1
call fcn.004fac80
add esp, 0xc
jmp 0x5ae945
mov eax, 0x10
mov dword [esi + 0xc], eax
mov eax, edi
lea ecx, [edi - 1]
and edi, 0xfffffff8
shr eax, 3
sub edi, eax
mov eax, dword [esi + 0xc]
cmp ecx, 8
cmovb edi, ecx
add eax, ebx
mov ebx, ecx
mov dword [esi + 0xc], eax
push edx
push 0xff
push eax
call fcn.00588b30
add esp, 0xc
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc]
sub edi, eax
cmp edx, 0xffffffff
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], 0x48
mov dword [esi + 0x54], 0x10
je 0x5aeb41
mov eax, dword [esi + 0x18]
xor ecx, ecx
mov dword [esi + 0xa0], ebx
mov eax, dword [eax]
mov dword [esi + 0x10], eax
add eax, 0xffffffb8
mov dword [esi + 0x20], eax
jmp 0x5aea9c
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebx
mov ebx, dword [esi + 8]
mov byte [edi + edx], al
shl edx, 3
mov byte [ecx + edi + 0x10], al
lea eax, [ebx*8]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x10]
sub eax, ecx
lea ecx, [edx + edx*8]
neg ecx
add eax, 0xffffffb8
lea ecx, [edi + ecx - 0x48]
push 0x48
push eax
push ecx
call fcn.005885b0
mov ecx, ebx
add esp, 0xc
mov edx, dword [esi + 0x1c]
cmp ecx, edx
lea ecx, [ecx + 1]
je 0x5aeb41
mov eax, dword [esi + 0x10]
cmp byte [eax + ecx], 0
js 0x5aea91
mov edx, dword [esi + 0x20]
mov eax, ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xd8], 0
neg eax
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
push eax
push dword [esi + 0x14]
call fcn.004bfd30
add esp, 8
mov ebx, dword [esi + 0xa0]
mov edi, dword [esi + 0xc]
mov ecx, ebx
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x5aeb1e
mov dword [esi + 0x90], eax
mov eax, ebx
mov ebx, edi
mov edi, 0x10
nop word cs:[eax + eax]
nop
add ecx, edi
add edi, 0x10
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x5aeb00
mov edi, ebx
mov ebx, eax
mov eax, dword [esi + 0x90]
tzcnt edx, edx
add edx, ecx
and edx, ebx
cmp byte [edi + edx], 0
js 0x5aea50
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x5aea50
mov eax, dword [esi + 0x18]
movsd xmm3, qword [esi + 0x40]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [eax], xmm3
movsd qword [esi + 0x88], xmm1
movsd xmm1, qword [esi + 0x48]
movq qword [esi + 0x80], xmm0
movq xmm2, qword [esi + 0x80]
movsd qword [eax + 8], xmm1
movq xmm1, qword [esi + 0x88]
movq qword [esi + 0x40], xmm2
movq qword [esi + 0x48], xmm1
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x5ae940
lea eax, [ecx + 1]
mov edx, 0x48
mul edx
add eax, 0xf
and eax, 0xfffffff0
add ecx, eax
add ecx, 0x11
je 0x5ae940
mov edx, dword [esi + 0x40]
sub edx, eax
push 0x10
push ecx
push edx
call fcn.00452e30
add esp, 0xc
jmp 0x5ae940