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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov esi, esp
mov dword [esi + 0xb8], ebp
mov dword [esi + 0xbc], esp
mov dword [esi + 0xc8], 0xffffffff
mov dword [esi + 0xc4], 0x4f0290
lea eax, [esi + 0xc0]
mov edi, dword fs:[0]
mov dword [esi + 0xc0], edi
mov dword fs:[0], eax
mov eax, dword [ecx + 0xc]
add edx, eax
jae 0x5af4a0
push 1
call fcn.00537ff0
add esp, 4
jmp 0x5afa49
mov ebx, dword [ecx + 4]
mov dword [esi + 0x24], eax
mov dword [esi + 0x14], ecx
lea eax, [ebx + 1]
mov dword [esi + 0x1c], ebx
mov ecx, eax
mov edi, eax
shr ecx, 3
and edi, 0xfffffff8
sub edi, ecx
cmp ebx, 8
cmovb edi, ebx
mov ecx, edi
shr ecx, 1
cmp edx, ecx
jbe 0x5af4ee
inc edi
cmp edx, edi
cmova edi, edx
cmp edi, 8
mov ebx, edi
jae 0x5af565
xor eax, eax
cmp ebx, 4
setae al
lea edi, [eax*4 + 4]
jmp 0x5afa71
test eax, eax
mov dword [esi + 0x28], edi
je 0x5af5a7
mov ecx, dword [esi + 0x14]
pxor xmm0, xmm0
cmp eax, 0x11
mov ecx, dword [ecx]
pcmpgtb xmm0, xmmword [ecx]
mov dword [esi + 4], ecx
por xmm0, xmmword [0x5c6610]
movdqa xmmword [ecx], xmm0
jb 0x5af54b
movdqa xmm0, xmmword [0x5c6610]
mov edx, dword [esi + 4]
mov ecx, 0x10
nop word [eax + eax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [edx + ecx]
por xmm1, xmm0
movdqa xmmword [edx + ecx], xmm1
add ecx, 0x10
jb 0x5af54b
cmp ecx, eax
jb 0x5af530
cmp eax, 0x10
jae 0x5af5ae
mov edi, dword [esi + 4]
lea ecx, [edi + 0x10]
push eax
push edi
push ecx
call fcn.005885b0
mov eax, edi
add esp, 0xc
jmp 0x5af5c7
cmp ebx, 0x20000000
jae 0x5afa5e
shl ebx, 3
mov edi, 1
cmp ebx, 0xe
jb 0x5afa71
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 0x5afa71
xor ecx, ecx
jmp 0x5afa3b
mov ecx, dword [esi + 4]
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 [ebp + 8]
lea ecx, [eax - 0x18]
xor edi, edi
mov dword [esi + 0x2c], 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 + 0x80], xmm0
jmp 0x5af637
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov edx, eax
lea eax, [edi - 0x10]
shr ebx, 0x19
and eax, ecx
mov byte [edx + edi], bl
mov byte [eax + edx + 0x10], bl
mov ebx, ecx
mov eax, dword [esi + 4]
cmp edi, ebx
lea edi, [edi + 1]
je 0x5afa38
cmp byte [eax + edi], 0x80
jne 0x5af629
mov ecx, dword [esi + 4]
mov eax, edi
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x10], edi
not eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [esi + 0x18], eax
mov eax, edi
neg eax
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
mov dword [esi + 0x20], eax
movaps xmm0, xmmword [esi + 0x90]
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x60]
lea edx, [esi + 0x70]
movups xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [esi + 0x80]
movups xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0xa0]
movups xmmword [esi + 0x50], 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 + 0x30]
movsd qword [esi + 0x70], xmm0
push 8
call fcn.0045cb20
add esp, 4
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
movups xmm0, xmmword [esi + 0x38]
movdqu xmm4, xmmword [esi + 0x30]
shl eax, 0x18
xor edx, ecx
or eax, dword [esi + 0x64]
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 + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ecx
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x5af958
mov ecx, dword [esi + 8]
mov edi, eax
mov eax, ebx
mov ebx, 0x10
nop word cs:[eax + eax]
nop
add ecx, ebx
add ebx, 0x10
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x5af940
mov ebx, eax
mov eax, edi
tzcnt edx, edx
mov edi, dword [esi + 0x10]
add edx, ecx
and edx, ebx
cmp byte [eax + edx], 0
js 0x5af975
movdqa xmm0, xmmword [eax]
pmovmskb ecx, xmm0
tzcnt edx, ecx
mov ecx, edi
mov edi, dword [esi + 8]
mov ebx, edx
sub ecx, edi
sub ebx, edi
xor ebx, ecx
mov ecx, dword [esi + 0x1c]
and ebx, ecx
cmp ebx, 0x10
jb 0x5af610
mov ebx, eax
movzx eax, byte [eax + edx]
lea edi, [edx - 0x10]
and edi, ecx
mov byte [esi + 8], al
mov eax, dword [esi + 0xc]
shr eax, 0x19
cmp byte [esi + 8], 0xff
mov byte [ebx + edx], al
not edx
mov byte [edi + ebx + 0x10], al
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
mov ebx, ecx
je 0x5afa00
mov ecx, dword [esi + 0x18]
movsd xmm1, qword [eax]
movsd xmm0, qword [ecx]
movsd qword [ecx], xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [ecx + 8]
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 8], xmm1
movsd qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x10]
movq xmm1, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm1
movq qword [eax + 0x10], xmm0
jmp 0x5af660
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 4]
lea ecx, [edi - 0x10]
mov byte [edx + edi], 0xff
and ecx, ebx
mov byte [ecx + edx + 0x10], 0xff
mov edx, dword [esi + 0x18]
movsd xmm0, qword [edx + 0x10]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x5af629
mov ecx, dword [esi + 0x28]
sub ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x14]
mov dword [eax + 8], ecx
mov eax, 0x80000001
mov ecx, dword [esi + 0xc0]
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 0x5afa49
mov edi, edx
mov ecx, 0x18
mov eax, edi
mul ecx
jo 0x5af491
mov ebx, eax
lea edx, [edi + 0x10]
add ebx, 0xf
and ebx, 0xfffffff0
mov ecx, ebx
add ecx, edx
jb 0x5af491
cmp ecx, 0x7ffffff1
jae 0x5af491
test ecx, ecx
je 0x5afad8
movzx eax, byte [0x636fbd]
push 0x10
mov dword [esi + 0xc], ecx
push ecx
mov dword [esi + 8], edx
call fcn.00452e20
mov edx, dword [esi + 8]
add esp, 8
test eax, eax
jne 0x5afadd
push dword [esi + 0xc]
push 0x10
push 1
call fcn.004fac80
add esp, 0xc
jmp 0x5afa49
mov eax, 0x10
mov dword [esi + 4], eax
mov eax, edi
lea ecx, [edi - 1]
and edi, 0xfffffff8
shr eax, 3
sub edi, eax
mov eax, dword [esi + 4]
cmp ecx, 8
cmovb edi, ecx
add eax, ebx
mov ebx, ecx
mov dword [esi + 4], 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 + 4]
sub edi, eax
cmp edx, 0xffffffff
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], 0x18
mov dword [esi + 0x44], 0x10
je 0x5afc3e
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [esi + 0x20], ebx
mov eax, dword [eax]
mov dword [esi + 8], eax
add eax, 0xffffffe8
mov dword [esi + 0x10], eax
jmp 0x5afbac
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebx
mov ebx, dword [esi + 0xc]
mov byte [edi + edx], al
shl edx, 3
mov byte [ecx + edi + 0x10], al
lea eax, [ebx*8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 8]
sub eax, ecx
lea ecx, [edx + edx*2]
mov edx, edi
movsd xmm0, qword [eax - 0x18]
sub edx, ecx
neg ecx
movsd xmm1, qword [eax - 0x10]
movsd qword [edi + ecx - 0x18], xmm0
mov ecx, ebx
movq xmm0, qword [eax - 8]
movsd qword [edx - 0x10], xmm1
movq qword [edx - 8], xmm0
mov edx, dword [esi + 0x1c]
cmp ecx, edx
lea ecx, [ecx + 1]
je 0x5afc3e
mov eax, dword [esi + 8]
cmp byte [eax + ecx], 0
js 0x5afba1
mov edx, dword [esi + 0x10]
mov eax, ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0xc8], 0
neg eax
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
push eax
push dword [ebp + 8]
call fcn.004bfd30
add esp, 8
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 4]
mov ecx, ebx
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x5afc1b
mov dword [esi + 0x18], eax
mov eax, ebx
mov ebx, edi
mov edi, 0x10
nop
add ecx, edi
add edi, 0x10
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x5afc00
mov edi, ebx
mov ebx, eax
mov eax, dword [esi + 0x18]
tzcnt edx, edx
add edx, ecx
and edx, ebx
cmp byte [edi + edx], 0
js 0x5afb50
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x5afb50
mov eax, dword [esi + 0x14]
movsd xmm3, qword [esi + 0x30]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [eax], xmm3
movsd qword [esi + 0x78], xmm1
movsd xmm1, qword [esi + 0x38]
movq qword [esi + 0x70], xmm0
movq xmm2, qword [esi + 0x70]
movsd qword [eax + 8], xmm1
movq xmm1, qword [esi + 0x78]
movq qword [esi + 0x30], xmm2
movq qword [esi + 0x38], xmm1
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x5afa44
lea eax, [ecx + 1]
mov edx, 0x18
mul edx
add eax, 0xf
and eax, 0xfffffff0
add ecx, eax
add ecx, 0x11
je 0x5afa44
mov edx, dword [esi + 0x30]
sub edx, eax
push 0x10
push ecx
push edx
call fcn.00452e30
add esp, 0xc
jmp 0x5afa44