Function at 0x57efac
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x28f0
call fcn.00649b30
call 0x57efc4
pop eax
lea edi, [esp + 0x5d0]
lea ebx, [esp + 0xae8]
mov dword [esp + 0x174], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0x3c], eax
lea eax, [edx + 4]
mov dword [esp + 0x98], eax
lea eax, [edx + 8]
mov dword [esp + 0x94], eax
lea eax, [edx + 0x3d]
mov dword [esp + 0x70], eax
mov eax, dword [edx]
lea ecx, [eax - 3]
add eax, 0xfffffffe
mov esi, edx
cmp ecx, 2
mov ecx, 0
cmovae eax, ecx
xor ecx, ecx
cmp eax, 1
cmove esi, dword [esp + 0x98]
sete cl
shl ecx, 2
test eax, eax
jne 0x580c45
cmp dword [edx + ecx], 2
mov dword [esp + 0x44], ecx
je 0x585264
lea eax, [esi + 0x98]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
cmp eax, 3
je 0x585264
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x9c]
mov dword [esp + 0x74], esi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], edx
test eax, eax
jne 0x580605
mov esi, dword [esp + 0xa0]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xb
mov edi, ebx
mov esi, dword [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x614]
mov dword [eax], 2
mov eax, dword [esp + 0x5f4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5f0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x5f8]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x57feeb
mov edi, dword [ecx + 8]
mov ecx, eax
shl ecx, 6
lea eax, [ecx + eax*4]
add eax, edi
mov dword [esp + 0x28], eax
xor ecx, ecx
cmp dword [edi + 0x2c], 0
mov dword [esp + 0x10], edi
je 0x57fa38
mov ecx, ebx
call fcn.0056551f
mov ebx, eax
test edx, edx
je 0x57f1d7
mov al, byte [ebx]
cmp al, 0x5b
jne 0x57f1de
add edx, ebx
xor ecx, ecx
mov dword [esp + 0x1c], ebx
mov esi, ebx
test al, al
mov dword [esp + 0x14], ecx
js 0x57f12d
lea edi, [esi + 1]
movzx eax, al
jmp 0x57f1a2
mov ecx, eax
and cl, 0x1f
movzx edi, cl
movzx ecx, byte [esi + 1]
and ecx, 0x3f
cmp al, 0xdf
jbe 0x57f180
movzx ebx, byte [esi + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp al, 0xf0
jb 0x57f192
lea eax, [esi + 4]
and edi, 7
shl ebx, 6
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], eax
movzx eax, byte [esi + 3]
shl edi, 0x12
and eax, 0x3f
or eax, ebx
or eax, edi
cmp eax, 0x110000
je 0x57fed9
mov edi, dword [esp + 8]
jmp 0x57f1a2
shl edi, 6
lea ebx, [esi + 2]
or edi, ecx
mov ecx, dword [esp + 0x14]
mov eax, edi
mov edi, ebx
jmp 0x57f1a2
mov ecx, dword [esp + 0x14]
shl edi, 0xc
lea eax, [esi + 3]
or ebx, edi
mov edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 8], edi
sub edi, esi
add edi, ecx
mov ecx, 0xfffffff8
test ecx, ecx
je 0x57f1e5
cmp dword [ecx + str.unknown_proxy_schemel], eax
lea ecx, [ecx + 4]
jne 0x57f1b3
mov esi, dword [esp + 8]
cmp esi, edx
je 0x57fed2
mov al, byte [esi]
mov ecx, edi
jmp 0x57f11d
xor eax, eax
jmp 0x57f2d5
mov eax, edx
jmp 0x57f2d5
mov dword [esp + 0xe0], 0
mov ecx, edi
cmp dword [esp + 8], edx
je 0x57f29f
mov bl, byte [edx - 1]
test bl, bl
js 0x57f20b
lea esi, [edx - 1]
movzx ebx, bl
jmp 0x57f27f
movzx eax, byte [edx - 2]
cmp al, 0xc0
jge 0x57f244
mov dword [esp + 0xc], ecx
movzx ecx, byte [edx - 3]
cmp cl, 0xc0
mov dword [esp + 0x60], ecx
jge 0x57f24c
movzx ecx, byte [edx - 4]
lea esi, [edx - 4]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x60]
and ecx, 7
shl ecx, 6
and esi, 0x3f
or esi, ecx
mov dword [esp + 0x60], esi
jmp 0x57f258
lea esi, [edx - 2]
and eax, 0x1f
jmp 0x57f26c
and dword [esp + 0x60], 0xf
lea esi, [edx - 3]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x60]
and eax, 0x3f
mov ecx, dword [esp + 0xc]
shl esi, 6
or eax, esi
mov esi, dword [esp + 0x18]
and bl, 0x3f
shl eax, 6
movzx ebx, bl
or ebx, eax
cmp ebx, 0x110000
je 0x57f29f
mov eax, 0xfffffff8
test eax, eax
je 0x57f2a9
cmp dword [eax + str.unknown_proxy_schemel], ebx
lea eax, [eax + 4]
jne 0x57f284
cmp dword [esp + 8], esi
mov edx, esi
jne 0x57f1fc
cmp byte [esp + 0xe0], 0
jmp 0x57f2b9
sub edi, dword [esp + 8]
add edi, edx
cmp byte [esp + 0xe0], 0
mov ecx, edi
mov ebx, dword [esp + 0x1c]
je 0x57f2c7
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
sub ecx, eax
add ebx, eax
mov eax, ecx
lea ecx, [esp + 0x1f0]
mov edx, ebx
mov dword [esp + 0xc], eax
push eax
call fcn.004a8cd0
add esp, 4
cmp byte [esp + 0x1f0], 2
jne 0x57f3cc
mov eax, dword [edi + 0x40]
test eax, eax
je 0x57fa1c
mov edi, dword [edi + 0x38]
mov ecx, dword [esp + 0xc]
shl eax, 2
mov dword [esp + 0x1c], ebx
lea esi, [eax + eax*2]
add edi, 8
mov ebx, dword [edi]
mov edx, dword [edi - 8]
cmp ecx, ebx
mov dword [esp + 8], edx
jne 0x57f343
push ecx
push dword [esp + 0x20]
push edx
call fcn.0064aeea
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x57f3c5
test ebx, ebx
je 0x57f370
cmp byte [edx], 0x2e
jne 0x57f370
lea eax, [ebx - 1]
cmp eax, ecx
jne 0x57f370
lea eax, [edx + 1]
push ecx
push dword [esp + 0x20]
push eax
call fcn.0064aeea
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x57f3c5
mov eax, ecx
sub eax, ebx
jb 0x57f391
add eax, dword [esp + 0x1c]
push ebx
push eax
push edx
call fcn.0064aeea
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x57f3ac
cmp ebx, 1
jne 0x57f39b
cmp byte [edx], 0x2a
je 0x57f3c5
add edi, 0xc
add esi, 0xfffffff4
jne 0x57f318
jmp 0x57fa2b
test ebx, ebx
je 0x57f3b5
cmp byte [edx], 0x2e
je 0x57f3c5
not ebx
add ebx, ecx
jae 0x57f39b
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx], 0x2e
jne 0x57f39b
mov cl, 1
jmp 0x57fa2d
mov al, byte [esp + 0x200]
movq xmm0, qword [esp + 0x1f0]
movq xmm1, qword [esp + 0x1f8]
mov byte [esp + 0x1e60], al
movq qword [esp + 0x1e58], xmm1
movq qword [esp + 0x1e50], xmm0
mov eax, dword [edi + 0x34]
test eax, eax
je 0x57fa1c
mov bl, byte [esp + 0x1e50]
mov esi, dword [edi + 0x2c]
mov edx, dword [esp + 0x1e51]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*2]
mov byte [esp + 8], bl
lea ebx, [esp + 0xae8]
mov dword [esp + 0x54], edx
mov dword [esp + 0xc], ecx
cmp byte [esi], 2
jne 0x57f476
mov al, byte [esp + 8]
cmp al, byte [esi + 1]
jne 0x57fa0d
cmp byte [esp + 8], 0
je 0x57f9bf
movdqu xmm0, xmmword [esp + 0x1e51]
movdqu xmm1, xmmword [esi + 2]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x57fa0d
jmp 0x57fecb
movzx eax, word [esi + 0x10]
movq xmm2, qword [esp + 0x1f0]
lea ecx, [esp + 0xd74]
mov word [esp + 0xd80], ax
mov al, byte [esp + 0x200]
movsd xmm1, qword [esi + 8]
movq xmm0, qword [esi]
movsd qword [esp + 0xd78], xmm1
movq xmm1, qword [esp + 0x1f8]
movq qword [esp + 0xd70], xmm0
mov byte [ecx + 0x1e], al
movq qword [ecx + 0xe], xmm2
movq qword [ecx + 0x16], xmm1
cmp byte [esp + 0xd70], 0
mov al, byte [esp + 0xd82]
je 0x57f95f
test al, al
je 0x57f9b2
mov eax, dword [esp + 0xd7d]
mov dl, 0x80
mov dword [esp + 0x1c], esi
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xd79]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xd71]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xd81]
sub dl, al
mov byte [esp + 0x38], al
mov eax, dword [esp + 0xd75]
mov ecx, edx
mov ch, dl
and cl, 0x78
xor edx, edx
shr cl, 3
dec edx
mov dword [esp + 0x18], eax
xor eax, eax
neg cl
mov dword [esp + 0x440], edx
mov dword [esp + 0x43c], edx
mov dword [esp + 0x438], edx
mov dword [esp + 0x434], edx
mov dword [esp + 0x430], eax
mov dword [esp + 0x42c], eax
mov dword [esp + 0x428], eax
mov dword [esp + 0x424], eax
movsx edi, cl
mov al, ch
mov edx, dword [esp + edi + 0x43c]
mov esi, dword [esp + edi + 0x440]
mov dword [esp + 0x24], edi
and al, 7
mov edi, dword [esp + edi + 0x438]
mov cl, al
shld esi, edx, cl
shl edx, cl
not cl
mov ebx, edi
shr ebx, 1
shr ebx, cl
mov cl, al
or ebx, edx
mov edx, dword [esp + 0x24]
mov edx, dword [esp + edx + 0x434]
mov dword [esp + 0x24], edx
shl edx, cl
mov eax, dword [esp + 0x24]
shld edi, eax, cl
test ch, ch
mov eax, 0
cmovs esi, eax
cmovs ebx, eax
cmovs edi, eax
cmovs edx, eax
movzx eax, word [esp + 0xd83]
bswap esi
bswap ebx
bswap edi
bswap edx
and esi, dword [esp + 0x14]
and ebx, dword [esp + 0x18]
and edi, dword [esp + 0x60]
and edx, dword [esp + 0xe0]
rol ax, 8
mov word [esp + 0x2c], ax
movzx eax, word [esp + 0xd85]
mov ecx, esi
rol si, 8
shr ecx, 0x10
mov word [esp + 0x290], si
movzx esi, word [esp + 0xd89]
rol cx, 8
mov word [esp + 0x292], cx
mov ecx, ebx
rol bx, 8
rol ax, 8
shr ecx, 0x10
mov word [esp + 0x294], bx
mov word [esp + 0x24], ax
movzx eax, word [esp + 0xd87]
movzx ebx, word [esp + 0xd8d]
rol cx, 8
rol si, 8
mov word [esp + 0x296], cx
mov ecx, edi
rol di, 8
mov word [esp + 0x30], si
mov word [esp + 0x298], di
movzx edi, word [esp + 0x2c]
shr ecx, 0x10
rol cx, 8
rol ax, 8
rol bx, 8
mov word [esp + 0x29a], cx
mov ecx, edx
rol dx, 8
mov word [esp + 0x20], ax
movzx eax, word [esp + 0xd91]
mov word [esp + 0x40], bx
shr ecx, 0x10
mov word [esp + 0x29c], dx
movzx edx, word [esp + 0xd8b]
mov word [esp + 0xf8], di
movzx edi, word [esp + 0x24]
rol cx, 8
mov word [esp + 0x29e], cx
movzx ecx, word [esp + 0xd8f]
rol ax, 8
rol dx, 8
mov word [esp + 0x4c], ax
mov word [esp + 0xfa], di
movzx edi, word [esp + 0x20]
mov word [esp + 0x34], dx
rol cx, 8
mov word [esp + 0x50], cx
mov word [esp + 0xfc], di
mov word [esp + 0xfe], si
mov word [esp + 0x100], dx
mov word [esp + 0x102], bx
mov word [esp + 0x104], cx
mov word [esp + 0x106], ax
mov eax, 0xff
mov ecx, 0xfffffff0
test ecx, ecx
je 0x57f776
movzx esi, word [esp + ecx + 0x2a0]
xor edx, edx
cmp si, word [esp + ecx + 0x108]
setne dl
cmovb edx, eax
add ecx, 2
test dl, dl
je 0x57f740
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
inc dl
cmp dl, 1
ja 0x57f9b2
mov ch, byte [esp + 0x38]
xor edx, edx
mov dword [esp + 0x420], edx
mov dword [esp + 0x41c], edx
mov dword [esp + 0x418], edx
mov dword [esp + 0x414], edx
mov cl, ch
mov al, ch
and cl, 0x78
xor edx, edx
and al, 7
dec edx
shr cl, 3
movzx ebx, cl
mov dword [esp + 0x410], edx
mov dword [esp + 0x40c], edx
mov dword [esp + 0x408], edx
mov dword [esp + 0x404], edx
mov cl, al
mov edx, dword [esp + ebx + 0x408]
mov dword [esp + 0x48], edx
shr edx, cl
not cl
mov edi, dword [esp + ebx + 0x40c]
lea esi, [edi + edi]
shl esi, cl
mov cl, al
mov eax, dword [esp + 0x48]
or esi, edx
mov edx, dword [esp + ebx + 0x404]
mov ebx, dword [esp + ebx + 0x410]
shrd edi, ebx, cl
shrd edx, eax, cl
shr ebx, cl
test ch, ch
mov eax, 0
cmovs edi, eax
cmovs esi, eax
cmovs edx, eax
cmovs ebx, eax
movzx eax, word [esp + 0x2c]
bswap ebx
bswap edi
bswap esi
bswap edx
or ebx, dword [esp + 0x14]
or edi, dword [esp + 0x18]
or esi, dword [esp + 0x60]
or edx, dword [esp + 0xe0]
mov word [esp + 0x290], ax
movzx eax, word [esp + 0x24]
mov word [esp + 0x292], ax
movzx eax, word [esp + 0x20]
mov word [esp + 0x294], ax
movzx eax, word [esp + 0x30]
mov word [esp + 0x296], ax
movzx eax, word [esp + 0x34]
mov word [esp + 0x298], ax
movzx eax, word [esp + 0x40]
mov word [esp + 0x29a], ax
movzx eax, word [esp + 0x50]
mov word [esp + 0x29c], ax
movzx eax, word [esp + 0x4c]
mov word [esp + 0x29e], ax
mov eax, ebx
rol bx, 8
shr eax, 0x10
mov word [esp + 0xf8], bx
lea ebx, [esp + 0xae8]
rol ax, 8
mov word [esp + 0xfa], ax
mov eax, edi
rol di, 8
shr eax, 0x10
mov word [esp + 0xfc], di
mov edi, 0xff
rol ax, 8
mov word [esp + 0xfe], ax
mov eax, esi
rol si, 8
shr eax, 0x10
mov word [esp + 0x100], si
mov esi, dword [esp + 0x1c]
rol ax, 8
mov word [esp + 0x102], ax
mov eax, edx
rol dx, 8
shr eax, 0x10
mov word [esp + 0x104], dx
rol ax, 8
mov word [esp + 0x106], ax
mov eax, 0xfffffff0
test eax, eax
je 0x57fa27
movzx edx, word [esp + eax + 0x2a0]
xor ecx, ecx
cmp dx, word [esp + eax + 0x108]
setne cl
cmovb ecx, edi
add eax, 2
test cl, cl
je 0x57f920
inc cl
mov edi, dword [esp + 0x10]
cmp cl, 2
mov ecx, dword [esp + 0xc]
jae 0x57fa0d
jmp 0x57fecb
test al, al
jne 0x57f9b2
mov al, byte [esp + 0xd75]
mov ecx, 0x20
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0xd71]
mov byte [esp + 0x14], al
movzx eax, al
bswap edx
sub ecx, eax
xor esi, esi
dec esi
shl esi, cl
cmp ecx, 0x20
mov ecx, 0
cmovae esi, ecx
mov ecx, dword [esp + 0xd83]
xor ebx, ebx
and esi, edx
bswap ecx
cmp esi, ecx
mov esi, dword [esp + 0x1c]
seta bl
sbb ebx, 0
test ebx, ebx
jle 0x57f9cd
mov ecx, dword [esp + 0xc]
lea ebx, [esp + 0xae8]
jmp 0x57fa0d
mov eax, dword [esp + 0x54]
cmp eax, dword [esi + 2]
jne 0x57fa0d
jmp 0x57fecb
xor esi, esi
mov ecx, eax
mov ebx, dword [esp + 0xd83]
mov eax, 0
dec esi
shr esi, cl
cmp byte [esp + 0x14], 0x20
bswap ebx
cmovae esi, eax
xor ecx, ecx
or esi, edx
cmp ebx, esi
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0xae8]
seta cl
sbb ecx, 0
test ecx, ecx
mov ecx, dword [esp + 0xc]
jle 0x57fecb
add esi, 0x12
cmp esi, ecx
jne 0x57f433
xor ecx, ecx
jmp 0x57fa38
xor ecx, ecx
lea ebx, [esp + 0xae8]
jmp 0x57fa38
mov cl, 1
jmp 0x57fa34
xor ecx, ecx
lea ebx, [esp + 0xae8]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
mov eax, dword [eax*4 + 0x58569c]
add eax, dword [esp + 0x3c]
jmp eax
mov cl, 1
jmp 0x57fa38
xor ecx, ecx
jmp 0x57f2bf
mov edi, ecx
xor ecx, ecx
mov al, 1
mov dword [esp + 0xe0], eax
jmp 0x57f1f2
mov esi, dword [esp + 0x5e4]
lock inc dword [esi]
jle 0x58521e
mov edi, dword [esp + 0x5e8]
lock inc dword [edi]
jle 0x58521e
mov eax, dword [esp + 0x5ec]
cmp dword [esp + 0x5d0], 0
mov dword [esp + 8], eax
je 0x57ff3a
push dword [esp + 0x5d4]
call dword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov dword [esp + 0x54], eax
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x57ff42
mov dword [esp + 0x1c], 0
push dword [esp + 0x5d8]
call dword [sym.imp.crypt32.dll_CertDuplicateStore]
mov dword [esp + 0xc], eax
mov al, byte [esp + 0x5de]
mov cl, byte [esp + 0x5e0]
mov dl, byte [esp + 0x5e1]
mov ch, byte [esp + 0x5dc]
mov dh, byte [esp + 0x5dd]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x5df]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x614]
lock inc dword [eax]
jle 0x58521e
mov byte [esp + 0x2c], cl
mov dword [esp + 0xe0], esi
mov cl, byte [esp + 0x618]
mov esi, dword [esp + 0x5f8]
mov byte [esp + 0x30], dl
mov dl, byte [esp + 0x619]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x5f0]
cmp byte [esp + 0x610], 2
mov byte [esp + 0x40], dh
mov byte [esp + 0x38], ch
mov dword [esp + 0x60], eax
mov byte [esp + 0x18], cl
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x5f4]
mov cl, byte [esp + 0x61a]
mov byte [esp + 0x24], dl
mov dl, 2
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], esi
mov byte [esp + 0x20], cl
je 0x580073
mov eax, dword [esp + 0x600]
push dword [esp + 0x608]
push dword [esp + 0x608]
lea ecx, [esp + 0x614]
push ecx
lea ecx, [esp + 0x1e5c]
push ecx
call dword [eax]
add esp, 0x10
lea ecx, [esp + 0x1e61]
mov dl, byte [esp + 0x610]
movq xmm0, qword [esp + 0x1e50]
movq xmm1, qword [esp + 0x1e58]
movzx eax, word [ecx]
mov cl, byte [ecx + 2]
movq qword [esp + 0x1f0], xmm0
movq qword [esp + 0x1f8], xmm1
mov word [esp + 0xf8], ax
mov byte [esp + 0xfa], cl
movsd xmm0, qword [esp + 0x1f0]
movsd xmm1, qword [esp + 0x1f8]
lea eax, [esp + 0x934]
mov byte [esp + 0x48], dl
mov ecx, 0xb
lea edi, [esp + 0xdc8]
mov esi, ebx
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
movzx eax, word [esp + 0xf8]
mov word [esp + 0x290], ax
mov al, byte [esp + 0xfa]
mov byte [esp + 0x292], al
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x940]
movsd xmm0, qword [esp + 0x930]
movsd xmm1, qword [esp + 0x938]
mov dword [esp + 0x200], eax
movsd qword [esp + 0x1f8], xmm1
movsd qword [esp + 0x1f0], xmm0
push 0x84
lea eax, [esp + 0xd74]
push eax
lea esi, [esp + 0x1e58]
push esi
call fcn.0064a810
add esp, 0xc
mov al, byte [0x803894]
mov ecx, 0x318
mov edx, 8
call fcn.004889b0
test eax, eax
je 0x58523b
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov dword [ebx], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov al, byte [esp + 0x38]
mov byte [ebx + 0xc], al
mov al, byte [esp + 0x40]
mov byte [ebx + 0xd], al
mov al, byte [esp + 0x10]
mov byte [ebx + 0xe], al
mov al, byte [esp + 0x14]
mov byte [ebx + 0xf], al
mov al, byte [esp + 0x2c]
mov byte [ebx + 0x10], al
mov al, byte [esp + 0x30]
mov byte [ebx + 0x11], al
mov eax, dword [esp + 0xe0]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x200]
mov dword [ebx + 0x3c], eax
mov al, byte [esp + 0x48]
movq xmm0, qword [esp + 0x1f0]
movq xmm1, qword [esp + 0x1f8]
movq qword [ebx + 0x2c], xmm0
movq qword [ebx + 0x34], xmm1
mov byte [ebx + 0x40], al
movzx eax, word [esp + 0x290]
mov word [ebx + 0x41], ax
mov al, byte [esp + 0x292]
mov byte [ebx + 0x43], al
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x44], eax
mov al, byte [esp + 0x18]
mov byte [ebx + 0x48], al
mov al, byte [esp + 0x24]
mov byte [ebx + 0x49], al
mov al, byte [esp + 0x20]
mov byte [ebx + 0x4a], al
mov eax, ebx
add eax, 0x50
push 0x84
push esi
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov word [ebx + 0x150], 0
mov esi, 0x7b9ad4
mov dword [ebx + 0x15c], eax
mov dword [ebx + 0x158], edx
mov dword [ebx + 0x160], ecx
mov byte [ebx + 0x168], 0
mov ecx, dword [esp + 0x5c]
call fcn.0056491d
mov eax, dword [esp + 0x74]
lea edi, [esp + 0x5d0]
mov ecx, edi
mov dword [eax + 0x98], 1
mov dword [eax + 0x9c], ebx
mov dword [eax + 0xa0], esi
mov esi, eax
call fcn.0056523a
mov eax, dword [esi + 0x98]
lea ebx, [esp + 0xae8]
jmp 0x57f071
cmp eax, 1
jne 0x585222
mov eax, dword [esi + 0xa0]
push dword [ebp + 8]
push dword [esi + 0x9c]
lea ecx, [esp + 0x478]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov al, byte [esp + 0x479]
cmp al, 3
je 0x5844f3
mov esi, dword [esp + 0x5c]
mov byte [esp + 8], al
cmp dword [esi], 3
je 0x58528b
mov eax, dword [esp + 0x470]
movzx ecx, word [esp + 0x47a]
mov dl, byte [esp + 0x478]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x474]
mov word [esp + 0xe0], cx
mov ecx, esi
mov byte [esp + 0x10], dl
mov dword [esp + 0x1c], eax
call fcn.0056491d
cmp byte [esp + 8], 2
mov dword [esi], 3
jne 0x5806bf
mov esi, dword [esp + 0x14]
mov ecx, 7
call fcn.004cbacb
cmp dword [eax], 0
je 0x5806b4
push eax
mov dword [esp + 0x10], eax
call fcn.0054fc0b
mov eax, dword [esp + 0x10]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [eax], esi
mov dword [eax + 4], ecx
jmp 0x5806c3
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + ecx]
cmp eax, 2
mov dword [esp + 0x14], eax
je 0x585293
mov esi, dword [esp + 0x74]
lea eax, [esi + 4]
push 0x94
push eax
lea eax, [esp + 0xd78]
push eax
call fcn.0064a810
add esp, 0xc
cmp dword [esi + 0x98], 3
je 0x580711
mov ecx, dword [esp + 0x5c]
call fcn.0056491d
mov eax, 0x94
push eax
lea eax, [esp + 0xd74]
push eax
lea eax, [esp + 0x1868]
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
mov dword [eax + ecx], 2
mov eax, 0x94
mov dword [esp + 0x1e50], esi
push eax
lea eax, [esp + 0x1864]
push eax
lea eax, [esp + 0x1e5c]
push eax
call fcn.0064a810
add esp, 0xc
mov al, byte [esp + 8]
cmp al, 2
je 0x580cc0
mov dword [esp + 0xd70], esi
push 0x94
lea ecx, [esp + 0x1864]
push ecx
lea eax, [esp + 0xd7c]
push eax
call fcn.0064a810
add esp, 0xc
mov esi, dword [esp + 0xc]
push esi
push edi
mov eax, dword [esp + 0x24]
call dword [eax + 0x28]
add esp, 8
mov al, byte [esp + 0x10]
cmp byte [esp + 8], 0
mov byte [esp + 0x5dd], al
mov eax, dword [esp + 0x5dc]
mov ecx, dword [esp + 0x5d8]
mov edx, dword [esp + 0x5d0]
mov edi, dword [esp + 0x5d4]
mov dword [esp + 0xae8], ecx
mov dword [esp + 0xaec], eax
je 0x580846
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], edi
push esi
lea eax, [esp + 0x5d4]
push eax
mov eax, dword [esp + 0x24]
call dword [eax + 0x3c]
add esp, 8
cmp dword [esp + 0x5d0], 0
je 0x580856
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
test edi, edi
je 0x580860
mov al, byte [0x803894]
mov ecx, 0x14
mov edx, 4
call fcn.004889b0
test eax, eax
je 0x5852c5
mov ecx, eax
mov dword [eax], edi
mov dword [eax + 4], esi
add eax, 8
mov esi, 0x7b7f14
mov edi, ecx
jmp 0x580883
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1f4], edi
jmp 0x5808a7
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
jmp 0x580899
mov al, byte [0x803894]
mov ecx, 0xc
mov edx, 4
call fcn.004889b0
test eax, eax
je 0x5852d4
mov esi, 0x7b588c
mov edi, eax
lea edx, [esp + 0x60c]
mov ecx, dword [edx - 0x30]
mov dword [eax + 8], ecx
movsd xmm0, qword [edx - 0x38]
movsd qword [eax], xmm0
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], esi
mov ecx, dword [esp + 0xaec]
mov eax, dword [esp + 0xae8]
lea esi, [esp + 0x5d0]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x1f8], eax
mov al, byte [esp + 0xe00]
mov cl, byte [esp + 0x1fc]
mov edx, ecx
or dl, al
jne 0x5809a5
lea ecx, [esp + 0xd74]
lea edx, [esp + 0xdfc]
mov eax, dword [ecx + 0x84]
movq xmm0, qword [ecx + 0x7c]
movq xmm2, qword [ecx + 0x6c]
movq xmm1, qword [ecx + 0x74]
mov ecx, ebx
mov dword [esp + 0x5e8], eax
movq qword [esp + 0x5e0], xmm0
movq qword [esp + 0x5d8], xmm1
movq qword [esp + 0x5d0], xmm2
push 1
push esi
call fcn.00564c5c
add esp, 8
mov ecx, esi
call fcn.005649bf
cmp byte [esp + 0xae8], 3
jne 0x5809f5
mov ecx, 4
call fcn.004cbacb
mov ebx, eax
mov ecx, eax
mov edx, 0x7b7d01
push 0x17
call fcn.004cbb0f
add esp, 4
lea ecx, [esp + 0x1f0]
call fcn.004cb243
push dword [esp + 0xc]
mov esi, dword [esp + 0x20]
call dword [esi]
mov eax, esi
add esp, 4
cmp dword [esi + 4], 0
lea esi, [esp + 0x1c40]
je 0x580b8d
cmp dword [eax + 8], 9
jae 0x580b77
mov eax, dword [esp + 0xc]
jmp 0x580b7e
lea edx, [esp + 0xd74]
test cl, cl
mov ecx, dword [edx + 0x84]
movsd xmm0, qword [edx + 0x7c]
movq xmm2, qword [edx + 0x6c]
movsd xmm1, qword [edx + 0x74]
mov dword [esp + 0x948], ecx
movsd qword [esp + 0x940], xmm0
movsd qword [esp + 0x938], xmm1
movq qword [esp + 0x930], xmm2
je 0x580a39
test al, al
jne 0x580a39
mov dword [esp + 0x14], 0
jmp 0x580a47
mov eax, dword [esp + 0xb00]
movsd xmm0, qword [esp + 0xaf8]
movq xmm2, qword [esp + 0xae8]
movsd xmm1, qword [esp + 0xaf0]
mov dword [esp + 0x948], eax
movsd qword [esp + 0x940], xmm0
movsd qword [esp + 0x938], xmm1
movq qword [esp + 0x930], xmm2
mov al, 1
mov byte [esp + 0xdd0], 1
mov dword [esp + 0x14], eax
mov edi, esi
mov ecx, 0x1a
lea esi, [esp + 0xd70]
mov edx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x2d8
mov eax, dword [esp + 0xdd8]
movsd xmm0, qword [esp + 0x1f0]
movsd xmm1, qword [esp + 0x1f8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xddc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xdfc]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x60c]
movsd qword [eax + 0x34], xmm1
movsd qword [eax + 0x2c], xmm0
mov al, byte [0x803894]
call fcn.004889b0
test eax, eax
je 0x5852b9
mov ecx, 0x1e
lea esi, [esp + 0x5d0]
mov edi, eax
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x1c40]
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x84], eax
mov al, byte [esp + 0x10]
mov byte [ebx + 0x88], al
mov al, byte [esp + 8]
mov byte [esp + 8], 4
mov byte [ebx + 0x89], al
movzx eax, word [esp + 0xe0]
mov word [ebx + 0x8a], ax
movsd xmm0, qword [esp + 0x930]
movq xmm1, qword [esp + 0x938]
movsd qword [ebx + 0x8c], xmm0
movq qword [ebx + 0x94], xmm1
movq xmm0, qword [esp + 0x940]
movq qword [ebx + 0x9c], xmm0
mov eax, dword [esp + 0x948]
mov dword [ebx + 0xa4], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xa8], eax
mov eax, dword [esp + 0x14]
mov byte [ebx + 0xac], al
mov byte [ebx + 0xad], 0
jmp 0x580be6
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xdfc]
test eax, eax
je 0x580ba9
lock dec dword [eax]
jne 0x580ba9
lea ecx, [esp + 0xdfc]
call fcn.00552f78
mov eax, dword [esp + 0xdc0]
test eax, eax
je 0x580bc5
lock dec dword [eax]
jne 0x580bc5
lea ecx, [esp + 0xdc0]
call fcn.00568449
mov eax, dword [esp + 0xdd8]
test eax, eax
je 0x580be1
lock dec dword [eax]
jne 0x580be1
lea ecx, [esp + 0xdd8]
call fcn.00568449
mov byte [esp + 8], 2
mov edi, dword [esp + 0xac]
mov ecx, edi
call fcn.0057e9a0
mov dword [edi], 3
mov dword [edi + 4], ebx
mov edx, edi
mov edi, dword [esp + 0x94]
mov ecx, 0xd
lea ebx, [esp + 0xae8]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x5d0]
mov al, byte [esp + 8]
mov ecx, dword [esp + 0x70]
mov byte [edx + 0x3c], al
mov al, byte [esp + 0x4fa]
mov byte [ecx + 2], al
movzx eax, word [esp + 0x4f8]
mov word [ecx], ax
mov eax, 3
jmp 0x57f002
cmp eax, 1
jne 0x585275
mov dl, byte [esi + 0x38]
mov ebx, dword [esp + 0xac]
mov eax, ecx
cmp dl, 4
jne 0x580ce7
mov ebx, dword [ebx + eax]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [ebx + 0xad]
mov dword [esp + 8], ebx
add ecx, dword [eax*4 + 0x585688]
jmp ecx
lea ecx, [esp + 0x1e50]
call fcn.0056496d
mov esi, dword [esp + 0xac]
mov ecx, esi
call fcn.0057e9a0
mov bl, 2
mov dword [esi], 4
jmp 0x585068
cmp dl, 3
mov byte [esi + 0x38], 3
mov dword [esp + 0x10], edx
je 0x5852f7
mov eax, dword [ebx + eax]
mov edx, esi
add esi, 4
lea edi, [esp + 0x1830]
mov ecx, 0xc
mov dword [esp + 0xc], eax
rep movsd dword es:[edi], dword [esi]
movzx eax, word [edx + 0x39]
mov ecx, dword [edx + 0x34]
mov word [esp + 0xb0], ax
mov al, byte [edx + 0x3b]
mov dword [esp + 0x1c], ecx
mov byte [esp + 0xb2], al
jmp 0x585024
mov eax, dword [esp + 0x174]
mov byte [eax + 0x38], 3
jmp 0x5850a6
lea edi, [esp + 0x1bb0]
lea esi, [esp + 0x1830]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [esp + 0xb0]
mov al, byte [esp + 0xb2]
mov word [esp + 0x13c], cx
mov ecx, ebx
mov byte [esp + 0x13e], al
call fcn.0057e9a0
mov dword [ebx], 4
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0xc]
lea esi, [esp + 0x1bb0]
mov ecx, 0xc
mov dword [edx], eax
lea edi, [edx + 4]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1c]
movzx esi, word [esp + 0x13c]
mov cl, byte [esp + 0x13e]
mov dword [edx + 0x34], eax
mov byte [edx + 0x38], bl
mov word [edx + 0x39], si
mov byte [edx + 0x3b], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
mov ecx, str.internal_error:_entered_unreachable_code_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmcmod.rs
mov edx, 0x28
push 0x7b93c8
call fcn.006522d0
add esp, 4
ud2
mov ecx, 8
mov edx, 0x318
call fcn.00651860
ud2
mov ecx, 0x7b5920
mov edx, 0x36
push 0x7b5958
jmp 0x585284
mov ecx, str.TryFlatten_polled_after_completionC:UsersNop.cargo_registry_srcindex.crates.io_1cd66030c949c28d_futures_util_0.3.29_src_future_try_future_try_flatten.rs
mov edx, 0x22
push 0x7b6400
call fcn.00659073
jmp 0x585236
mov dword [esi], 3
jmp 0x5852a5
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x44]
mov dword [eax + ecx], 2
mov ecx, str.internal_error:_entered_unreachable_code_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmcmod.rs
mov edx, 0x28
push 0x7b5910
jmp 0x585231
mov ecx, 8
mov edx, 0x2d8
jmp 0x585245
mov ecx, 4
mov edx, 0x14
jmp 0x585245
mov ecx, 4
mov edx, 0xc
jmp 0x585245
mov ecx, str.Ready_polled_after_completionC:UsersNop.cargo_registry_srcindex.crates.io_1cd66030c949c28d_futures_util_0.3.29_src_future_ready.rs
mov edx, 0x1d
push 0x7b9260
call fcn.00652640
jmp 0x585236