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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov ebx, edx
mov edi, ecx
xor esi, esi
mov dword [esp + 0x18], edx
jmp 0x5fe3ba
cmp ebx, dword [esp + 0x18]
ja 0x5fe4e9
mov ecx, 0x2e
mov edx, edi
push ebx
call fcn.0046b5f0
add esp, 4
mov ecx, 0x15180
cmp eax, 1
jne 0x5fe4e9
cmp edx, dword [esp + 0x18]
mov ebx, edx
jae 0x5fe3b0
cmp byte [edi + ebx], 0x2e
jne 0x5fe3b0
lea eax, [edi + ebx + 1]
mov edi, 4
mov edx, 4
mov dword [esp + 8], eax
lea eax, [ebx + 1]
sub dword [esp + 0x18], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
shr edi, 1
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
add edi, eax
mov eax, dword [edi*8 + 0x92883c]
mov ebx, eax
sub ebx, ecx
cmovae eax, ecx
push eax
push dword [esp + 0xc]
push dword [edi*8 + 0x928838]
call fcn.007be090
add esp, 0xc
test eax, eax
cmovne ebx, eax
test ebx, ebx
je 0x5fe4dd
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 4]
test ebx, ebx
lea eax, [edi + 1]
cmovg edx, edi
cmovs ecx, eax
mov edi, edx
mov eax, ecx
sub edi, ecx
ja 0x5fe410
mov ebx, 0x20
xor eax, eax
mov edx, 0x20
nop word cs:[eax + eax]
shr ebx, 1
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
add ebx, eax
mov eax, dword [ebx*8 + 0x9288c0]
mov edi, eax
sub edi, ecx
cmovae eax, ecx
push eax
push dword [esp + 0xc]
push dword [ebx*8 + 0x9288bc]
call fcn.007be090
add esp, 0xc
test eax, eax
cmovne edi, eax
test edi, edi
je 0x5fe4e4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 4]
test edi, edi
lea eax, [ebx + 1]
cmovg edx, ebx
cmovs ecx, eax
mov ebx, edx
mov eax, ecx
sub ebx, ecx
ja 0x5fe480
mov ecx, 0x15180
jmp 0x5fe4e9
mov ecx, 0xe10
jmp 0x5fe4e9
mov ecx, 0x1e13380
mov dword [esp + 0x48], ecx
lea edx, [esp + 0x48]
lea ecx, [esp + 0x34]
xor eax, eax
mov dword [esp + 0xd0], 0x92880c
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x60]
lea edx, [esp + 0xd0]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], fcn.0046c9c0
mov dword [esp + 0xdc], 1
call fcn.00419280
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov edi, dword [ebp + 8]
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, esi
je 0x5fe5b0
mov eax, dword [esp + 0x18]
movzx edx, byte [eax + esi]
cmp dl, 0x20
setae al
cmp dl, 0x7f
setne cl
inc esi
cmp dl, 9
je 0x5fe570
and al, cl
jne 0x5fe570
mov ecx, 0x93b384
mov edx, 0x2b
push 0x928814
push 0x8abeac
lea eax, [esp + 0x50]
push eax
call fcn.007c1f60
test ebx, ebx
je 0x5fe5ff
js 0x5fee57
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x5fee5c
push ebx
push dword [esp + 0x1c]
push eax
mov dword [esp + 0x30], eax
call fcn.007bd9b0
mov eax, dword [esp + 0x30]
add esp, 0xc
mov esi, 0x834a44
test al, 1
jne 0x5fe5f9
or eax, 1
mov esi, 0x834a34
mov dword [esp + 0x2c], eax
jmp 0x5fe614
mov esi, 0x80b23c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0x93d1f8
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x60]
mov edx, str.cache_controlatomrss1
push 0x8ac350
push eax
push 0xd
call fcn.0049d8a0
add esp, 0xc
cmp byte [esp + 0x68], 3
je 0x5fedc4
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
mov dword [esp + 0x34], esi
mov ecx, edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x24]
movsd qword [esp + 0x98], xmm0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
call fcn.004aa2f0
test al, al
jne 0x5fede2
lea edx, [esp + 0x98]
mov ecx, edi
call fcn.005fee70
movzx edx, word [edi + 0x38]
mov ecx, eax
movzx ebx, byte [esp + 0xa0]
mov esi, dword [edi + 0x1c]
mov dword [esp + 0x28], eax
and ecx, edx
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x18]
cmp bl, 2
mov dword [esp + 0x10], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 4], edx
mov edx, dword [edi + 0x24]
mov edi, dword [esp + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp + 0x7c], edi
je 0x5fe7e3
mov edx, dword [esp + 0x9c]
movzx eax, bl
test eax, eax
mov dword [esp + 0x30], edx
jne 0x5fe875
neg edx
mov dword [esp + 8], 0
mov dword [esp + 0xbc], edx
jmp 0x5fe717
inc dword [esp + 8]
inc ebx
mov ecx, ebx
mov eax, dword [esp + 0x10]
nop dword [eax + eax]
mov ebx, ecx
cmp ecx, esi
mov ecx, 0
jae 0x5fe720
movzx ecx, word [eax + ebx*4]
cmp ecx, 0xffff
je 0x5fea45
mov dword [esp + 0x14], ecx
movzx ecx, word [eax + ebx*4 + 2]
mov edi, dword [esp + 0x20]
mov edx, ebx
mov eax, ecx
and eax, edi
sub edx, eax
and edx, edi
cmp edx, dword [esp + 8]
jb 0x5feb68
cmp cx, word [esp + 0x28]
jne 0x5fe710
mov ecx, dword [esp + 0x14]
cmp dword [esp + 4], ecx
jbe 0x5fed9e
mov edx, dword [esp + 0xc]
imul eax, ecx, 0x34
cmp dword [edx + eax + 0x20], 0
je 0x5fe710
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [ecx + eax + 0x20]
cmp dword [eax + 8], edx
jne 0x5fe710
mov eax, dword [eax + 4]
mov edx, 0xffffffff
mov dword [esp + 0xb8], eax
nop
mov eax, dword [esp + 0xbc]
add eax, edx
cmp eax, 0xffffffff
je 0x5fe92e
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xb8]
movzx eax, byte [eax + edx + 1]
movzx ecx, byte [eax + 0x8ac350]
lea eax, [edx + 1]
cmp cl, byte [edi + edx + 1]
mov edx, eax
je 0x5fe7a0
cmp eax, dword [esp + 0x30]
jb 0x5fe710
jmp 0x5fe92e
mov edi, dword [esp + 0x20]
mov dword [esp + 8], 0
jmp 0x5fe800
inc dword [esp + 8]
inc ebx
mov ecx, ebx
nop dword [eax + eax]
mov ebx, ecx
cmp ecx, esi
mov ecx, 0
jae 0x5fe800
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + ebx*4]
cmp ecx, 0xffff
je 0x5fea45
movzx eax, word [eax + ebx*4 + 2]
mov dword [esp + 0x14], ecx
mov edx, ebx
mov ecx, eax
and ecx, edi
sub edx, ecx
and edx, edi
cmp edx, dword [esp + 8]
jb 0x5feb68
cmp ax, word [esp + 0x28]
jne 0x5fe7f1
mov ecx, dword [esp + 0x14]
cmp dword [esp + 4], ecx
jbe 0x5fed9e
mov edx, dword [esp + 0xc]
imul eax, ecx, 0x34
cmp dword [edx + eax + 0x20], 0
jne 0x5fe7f1
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax + 0x20]
mov ecx, dword [esp + 0x7c]
cmp byte [eax + 4], cl
jne 0x5fe7f1
jmp 0x5fe92e
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov dword [esp + 8], 0
jmp 0x5fe8a0
inc dword [esp + 8]
mov eax, dword [esp + 0x10]
inc ebx
mov ecx, ebx
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, ecx
cmp ecx, esi
mov ecx, 0
jae 0x5fe8a0
movzx ecx, word [eax + ebx*4]
cmp ecx, 0xffff
je 0x5fea45
movzx eax, word [eax + ebx*4 + 2]
mov dword [esp + 0x14], ecx
mov edx, ebx
mov ecx, eax
and ecx, edi
sub edx, ecx
and edx, edi
cmp edx, dword [esp + 8]
jb 0x5feb68
cmp ax, word [esp + 0x28]
jne 0x5fe887
mov ecx, dword [esp + 0x14]
cmp dword [esp + 4], ecx
jbe 0x5fed9e
mov edx, dword [esp + 0xc]
imul eax, ecx, 0x34
cmp dword [edx + eax + 0x20], 0
je 0x5fe887
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [ecx + eax + 0x20]
cmp dword [eax + 8], edx
jne 0x5fe887
push dword [esp + 0x30]
push dword [esp + 0x80]
push dword [eax + 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x5fe887
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 4]
imul esi, ecx, 0x34
cmp dword [eax + esi], 0
je 0x5fe959
add eax, esi
mov ecx, ebx
mov edx, dword [eax + 4]
call fcn.005aed20
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x28]
cmp edx, ecx
jbe 0x5fedba
mov ecx, dword [ebx + 0x24]
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x24]
movsd xmm0, qword [ecx + esi + 0xc]
movsd xmm1, qword [ecx + esi + 0x14]
movsd qword [esp + 0xc8], xmm1
movsd qword [esp + 0xc0], xmm0
movzx edx, byte [ecx + esi + 0x1f]
movzx eax, byte [ecx + esi + 0x1c]
mov byte [esp + 0x1e], dl
cmp al, 3
movzx edx, word [ecx + esi + 0x1d]
mov word [esp + 0x1c], dx
mov dword [ecx + esi + 0xc], ebx
mov dword [ecx + esi + 0x10], edi
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x2c]
mov dword [ecx + esi + 0x14], ebx
mov dword [ecx + esi + 0x18], edi
mov byte [ecx + esi + 0x1c], 0
je 0x5fee39
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc8]
movzx ecx, word [esp + 0x1c]
movzx edx, byte [esp + 0x1e]
mov esi, dword [esp + 0x78]
cmp al, 2
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm0
mov byte [esp + 0xe0], al
mov word [esp + 0xe1], cx
mov byte [esp + 0xe3], dl
je 0x5fed80
mov ecx, dword [esp + 0xd0]
lea eax, [esp + 0xdc]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push eax
call dword [ecx + 0xc]
add esp, 0xc
jmp 0x5fed80
lea ecx, [esp + 0x80]
lea edx, [esp + 0x98]
call fcn.004a0cf0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x44]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
cmp ecx, 0x7fff
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
ja 0x5fedfb
movsd xmm0, qword [esp + 0x80]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x3c]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [esp + 0x34]
cmp ecx, dword [edi + 0x20]
mov dword [esp + 0x70], eax
mov eax, ecx
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x60], xmm0
jne 0x5feaef
mov edx, dword [esp + 4]
lea ecx, [edi + 0x20]
call fcn.00481be0
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x28]
mov esi, dword [edi + 0x1c]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0xc]
imul ecx, eax, 0x34
inc eax
cmp ebx, esi
mov dword [edi + ecx], 0
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movsd qword [edi + ecx + 0xc], xmm0
movsd qword [edi + ecx + 0x14], xmm1
mov edx, dword [esp + 0x70]
mov dword [edi + ecx + 0x1c], edx
mov edx, dword [esp + 0x28]
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
movsd qword [edi + ecx + 0x20], xmm0
movsd qword [edi + ecx + 0x28], xmm1
mov word [edi + ecx + 0x30], dx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
jae 0x5fedac
mov eax, dword [ecx + 0x18]
mov ecx, dword [esp + 4]
mov word [eax + ebx*4], cx
mov word [eax + ebx*4 + 2], dx
jmp 0x5fed37
mov edi, dword [ebp + 8]
cmp dword [esp + 8], 0x200
lea ecx, [esp + 0x80]
lea edx, [esp + 0x98]
mov eax, dword [edi]
setae byte [esp + 0x20]
xor eax, 2
or eax, dword [edi + 4]
setne byte [esp + 8]
call fcn.004a0cf0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x44]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
cmp ecx, 0x7fff
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
ja 0x5fedfb
movsd xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x3c]
cmp ecx, dword [edi + 0x20]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 0x70], eax
mov eax, ecx
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x60], xmm0
jne 0x5fec33
mov edx, dword [esp + 4]
lea ecx, [edi + 0x20]
call fcn.00481be0
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x28]
mov esi, dword [edi + 0x1c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0xc]
imul ecx, eax, 0x34
inc eax
mov dword [esp + 0x14], 0
mov dword [edi + ecx], 0
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movsd qword [edi + ecx + 0xc], xmm0
movsd qword [edi + ecx + 0x14], xmm1
mov edx, dword [esp + 0x70]
mov dword [edi + ecx + 0x1c], edx
mov edx, dword [esp + 0x28]
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
movsd qword [edi + ecx + 0x20], xmm0
movsd qword [edi + ecx + 0x28], xmm1
mov word [edi + ecx + 0x30], dx
movzx ecx, byte [esp + 8]
mov edi, dword [ebp + 8]
and byte [esp + 0x20], cl
mov dword [edi + 0x28], eax
mov edi, edx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x10]
nop word cs:[eax + eax]
nop
mov ecx, ebx
xor ebx, ebx
cmp ecx, esi
jae 0x5fecc0
movzx edx, word [eax + ecx*4]
cmp dx, 0xffff
je 0x5fecfd
movzx ebx, word [eax + ecx*4 + 2]
inc dword [esp + 0x14]
mov word [esp + 8], bx
mov ebx, dword [esp + 4]
mov dword [esp + 4], edx
mov word [eax + ecx*4], bx
mov word [eax + ecx*4 + 2], di
movzx edi, word [esp + 8]
inc ecx
mov ebx, ecx
mov edi, edi
jmp 0x5fecb0
mov edx, dword [esp + 4]
cmp dword [esp + 0x14], 0x80
mov word [eax + ecx*4], dx
mov word [eax + ecx*4 + 2], di
movzx ecx, byte [esp + 0x20]
setb al
not cl
test cl, al
mov ecx, dword [ebp + 8]
jne 0x5fed37
mov eax, dword [ecx + 4]
or eax, dword [ecx]
jne 0x5fed37
mov dword [ecx + 4], 0
mov dword [ecx], 1
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc8]
movzx eax, word [esp + 0x1c]
movzx ecx, byte [esp + 0x1e]
mov esi, dword [esp + 0x78]
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xd8], xmm1
mov byte [esp + 0xe0], 2
mov word [esp + 0xe1], ax
mov byte [esp + 0xe3], cl
test esi, esi
je 0x5fed96
push dword [esp + 0x18]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 4]
push 0x8ac150
call fcn.007c1be0
mov ecx, ebx
mov edx, esi
push 0x8ac160
call fcn.007c1be0
push 0x8ac1c0
call fcn.007c1be0
mov ecx, 0x8ac4b8
mov edx, 0x1a
push 0x8ac4d4
push 0x8abe4c
lea eax, [esp + 0x50]
push eax
call fcn.007c1f60
lea eax, [esp + 0x40]
push dword [esp + 0x94]
push dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x9c]
jmp 0x5fee33
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x50]
push eax
call dword [ecx + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5fee39
lea ecx, [esp + 0x8c]
push dword [esp + 0x88]
push dword [esp + 0x88]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov ecx, str.size_overflows_MAX_SIZEC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcheadermap.rs
mov edx, 0x17
push 0x8ac1f0
push 0x8abe7c
lea eax, [esp + 0x50]
push eax
call fcn.007c1f60
call fcn.00418cb0
mov ecx, 1
mov edx, ebx
call fcn.007c1490
int3