joyce8/EMBER2024-capa huggingface dataset:
Function at 0x415870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov eax, dword [ebp + 0xc]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x415890
sar esi, 1
lea edi, [esp + 0x78]
push edi
push 0
push 0
push esi
push eax
push 0
call dword [0x4498f4]
mov ebx, dword [esp + 0x78]
test ebx, ebx
jns 0x4158bf
mov eax, 0xffffffff
jmp 0x4158c2
lea eax, [ebx + ebx]
push eax
call fcn.00408c60
add esp, 4
push edi
push ebx
mov dword [esp + 0x74], eax
push eax
push esi
push dword [ebp + 0xc]
push 0
call dword [0x4498f4]
mov dword [esp + 0x18], 0xf33ecd30
mov dword [esp + 0x1c], 0xf761f111
mov dword [esp + 0x20], 0xfbdaf560
mov dword [esp + 0x24], 0xff1bf902
mov dword [esp + 0x28], 0xe375fd6a
mov dword [esp + 0x2c], 0xe775e109
mov dword [esp + 0x30], 0xebeae576
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov byte [esp + 0x3c], 0
mov dword [esp + 0x90], 0
mov ecx, dword [esp + 0x90]
cmp ecx, 0x24
ja 0x4159a6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x90]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx - 0x297d62]
and esi, edx
add ecx, edx
add ecx, 0xffd6829e
add esi, esi
sub ecx, esi
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
add cl, 0xae
mov edx, dword [esp + 0x90]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
cmp ecx, 0x25
jb 0x415950
lea edi, [esp + 0x90]
lea edx, [esp + 0x18]
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xac]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x78]
mov ecx, eax
add ecx, 0xd
jns 0x4159dc
mov eax, 0xffffffff
jmp 0x4159e1
add eax, eax
add eax, 0x1a
mov edi, dword [esp + 0x6c]
push eax
call fcn.00408c60
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x415a11
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415a00
mov word [eax], 0
movzx ecx, word [esp + 0x90]
test cx, cx
je 0x415a41
lea edx, [esp + 0x92]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x415a30
mov word [eax], 0
lea eax, [esp + 0x48]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043b1f0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442d3c]
Function at 0x433cd0
Capabilities:
Encode data using xor
Hash data using sha1
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], 0xc3d2e1f0
mov dword [esp + 0x10], 0x10325476
mov dword [esp + 0xc], 0x98badcfe
mov dword [esp + 8], 0xefcdab89
mov dword [esp + 4], 0x67452301
cmp ebp, 0x40
jb 0x433d8d
mov edi, ebp
shr edi, 6
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + esi]
mov dword [esp + esi + 0x1c], eax
movzx ecx, byte [ebp + esi + 1]
shl ecx, 8
or ecx, eax
mov dword [esp + esi + 0x1c], ecx
movzx eax, byte [ebp + esi + 2]
shl eax, 0x10
or eax, ecx
mov dword [esp + esi + 0x1c], eax
movzx ecx, byte [ebp + esi + 3]
shl ecx, 0x18
or ecx, eax
mov dword [esp + esi + 0x1c], ecx
add esi, 4
cmp esi, 0x40
jne 0x433d30
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 8]
push eax
call fcn.00434d90
add esp, 8
inc ebx
lea eax, [esi + ebp]
cmp ebx, edi
jne 0x433d20
add ebp, esi
mov eax, ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov ecx, ebp
and ecx, 0x3f
mov dword [esp], ecx
je 0x433e84
mov ecx, ebp
and ecx, 1
xor edi, edi
cmp dword [esp], 1
je 0x433e6d
mov dword [esp + 0x18], ecx
sub dword [esp], ecx
xor ebx, ebx
xor edi, edi
nop
movzx ebp, byte [eax + edi]
mov ecx, ebx
and cl, 0x10
shl ebp, cl
mov edx, edi
and edx, 0xfffffffc
xor ebp, dword [esp + edx + 0x1c]
mov dword [esp + edx + 0x1c], ebp
movzx esi, byte [eax + edi + 1]
or cl, 8
shl esi, cl
xor esi, ebp
mov dword [esp + edx + 0x1c], esi
add edi, 2
add ebx, 0x10
cmp dword [esp], edi
jne 0x433e30
add eax, edi
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x433e84
movzx eax, byte [eax]
lea ecx, [edi*8]
shl eax, cl
and edi, 0xfffffffc
xor dword [esp + edi + 0x1c], eax
lea ebx, [ebp*8]
mov ecx, ebx
and cl, 0x18
or cl, 7
mov eax, 1
shl eax, cl
mov ecx, ebp
and ecx, 0x3c
xor dword [esp + ecx + 0x1c], eax
mov esi, dword [esp + 0x78]
mov eax, ebp
not eax
test al, 0x38
jne 0x433ed5
lea edi, [esp + 0x1c]
lea eax, [esp + 4]
push edi
push eax
call fcn.00434d90
add esp, 8
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
lea edi, [esp + 0x5c]
xor eax, eax
xor ecx, ecx
rep stosw word es:[edi], ax
mov dword [esp + 0x54], ebx
shr ebp, 0x1d
mov dword [esp + 0x58], ebp
lea eax, [esp + 0x1c]
lea ecx, [esp + 4]
push eax
push ecx
call fcn.00434d90
add esp, 8
mov eax, dword [esp + 4]
mov dword [esi], eax
mov eax, dword [esp + 8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43a2cf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov ecx, dword [ebp + 8]
mov dword [esp + 8], 0x63646536
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x43a347
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [eax + edx]
add eax, 0x71
and eax, edx
add eax, eax
sub esi, eax
add esi, 0xe5f76771
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
add al, 0xe9
mov edx, dword [esp]
mov byte [esp + edx + 8], al
mov eax, dword [esp]
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0xd
jb 0x43a300
mov eax, dword [esp + 8]
mov edx, dword [0x448228]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
Function at 0x401010
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x1c
xor eax, eax
cmp word [0x400000], 0x5a4d
mov dword [0x4f11a0], 1
mov dword [0x4f119c], 1
mov dword [0x4f1198], 1
jne 0x401056
mov edx, dword [0x40003c]
cmp dword [edx + 0x400000], 0x4550
lea ecx, [edx + 0x400000]
je 0x4010b0
mov dword [0x4f1014], eax
mov eax, dword [0x4f11ac]
test eax, eax
je 0x4010a0
mov dword [esp], 2
call sym.___set_app_type
call sym.___p__fmode
mov edx, dword [0x4f11c0]
mov dword [eax], edx
call sym.___p__commode
mov edx, dword [0x4f11a8]
mov dword [eax], edx
call dbg._setargv
cmp dword [0x4b90e8], 1
je 0x4010e0
xor eax, eax
add esp, 0x1c
ret
mov dword [esp], 1
call sym.___set_app_type
jmp 0x401070
movzx edx, word [ecx + 0x18]
cmp dx, 0x10b
je 0x4010f8
cmp dx, 0x20b
jne 0x401056
cmp dword [ecx + 0x84], 0xe
jbe 0x401056
mov edx, dword [ecx + 0xf8]
xor eax, eax
test edx, edx
setne al
jmp 0x401056
mov dword [esp], dbg._matherr
call dbg.__mingw_setusermatherr
xor eax, eax
add esp, 0x1c
ret
cmp dword [ecx + 0x74], 0xe
jbe 0x401056
mov ecx, dword [ecx + 0xe8]
xor eax, eax
test ecx, ecx
setne al
jmp 0x401056
Function at 0x41ed70
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x1ac
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [eax]
mov dword [eax], 0
test esi, esi
je 0x41edc4
lea edi, [ebp - 0x1b4]
push 0x190
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
push edi
push 0x202
call sub.WS2_32.dll_WSAStartup
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x41edce
mov dword [esi], 0x4ae730
add esp, 0x1ac
pop esi
pop edi
pop ebp
ret
push 0x4bf354
call sym.core::option::unwrap_failed::hef9527eb823b8d2a
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0xc]
mov edx, 0x4bea40
push 0x4c0514
push eax
call dbg.assert_failed<i32, i32>
nop dword [eax + eax]
Function at 0x43dc40
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x24
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
lea eax, [ebp - 0x28]
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
movups xmmword [ebp - 0x28], xmm0
push eax
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x43dc74
mov dword [esi + 4], eax
mov byte [esi], 4
jmp 0x43dc7e
mov byte [esi], 2
mov dword [esi + 4], 0x4c0dac
mov eax, esi
add esp, 0x24
pop esi
pop ebp
ret
Function at 0x43f100
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x428
mov edi, 0x200
xor esi, esi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 2
cmp edi, 0x201
jae 0x43f170
jmp 0x43f151
mov esi, dword [ebp - 0x10]
jbe 0x43f1e4
cmp edi, 0x201
jae 0x43f170
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], 0x200
lea ebx, [ebp - 0x434]
mov esi, edi
jmp 0x43f197
sub edi, esi
je 0x43f18b
mov edx, esi
lea ecx, [ebp - 0x24]
push edi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
add esp, 4
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], esi
push 0
call sub.KERNEL32.dll_SetLastError
push ebx
push esi
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov edi, eax
test eax, eax
jne 0x43f1b4
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x43f231
cmp edi, esi
jne 0x43f140
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x43f24f
lea edi, [esi + esi]
test esi, esi
mov esi, dword [ebp - 0x10]
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jb 0x43f151
jmp 0x43f170
mov eax, dword [ebp - 0x18]
cmp edi, eax
ja 0x43f265
lea eax, [ebp - 0x34]
push edi
push ebx
push eax
call dbg.from_wide
add esp, 0xc
movsd xmm0, qword [ebp - 0x34]
mov eax, dword [ebp + 8]
movsd xmm1, qword [ebp - 0x2c]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
test esi, esi
je 0x43f223
add esi, esi
push 2
push esi
push dword [ebp - 0x14]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp + 8]
add esp, 0x428
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
mov byte [ecx + 4], 0
mov dword [ecx + 8], eax
mov dword [ecx], 0x80000000
test esi, esi
jne 0x43f213
jmp 0x43f223
push 0x4c0fb0
push 0x28
push 0x4bd574
call dbg.panic
add esp, 0xc
jmp 0x43f274
push 0x4c0fa0
push eax
push edi
call dbg.slice_end_index_len_fail
add esp, 0xc
ud2

Function at 0x43f2b0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp dbg.vars_os

Function at 0x43f2c0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
call sub.KERNEL32.dll_GetEnvironmentStringsW
test eax, eax
je 0x43f2dc
mov edx, eax
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.dll_GetLastError
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 0x4c06c0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h12ee7560cc3570d1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 1
lea eax, [ebp - 0x38]
push 0x4c06c8
push eax
call dbg.panic_fmt
add esp, 8
ud2
Function at 0x43fb30
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x34]
push eax
call sym.std::sys::pal::windows::to_u16s::inner::h1c3101dfdc85d063
add esp, 4
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp esi, 0x80000000
jne 0x43fb84
mov edi, dword [ebp - 0x2c]
mov ebx, eax
shrd ebx, edi, 8
shr edi, 8
cmp al, 4
je 0x43fc16
jmp 0x43fc40
mov dword [ebp - 0x10], eax
mov edx, edi
lea ecx, [ebp - 0x34]
push ebx
call sym.std::sys::pal::windows::to_u16s::inner::h1c3101dfdc85d063
add esp, 4
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
cmp eax, 0x80000000
jne 0x43fbcc
mov edi, dword [ebp - 0x2c]
mov eax, ebx
shrd ebx, edi, 8
shr edi, 8
test esi, esi
je 0x43fc12
add esi, esi
push 2
push esi
push dword [ebp - 0x10]
mov esi, eax
call sym.___rust_dealloc
mov eax, esi
add esp, 0xc
cmp al, 4
je 0x43fc16
jmp 0x43fc40
mov dword [ebp - 0x38], eax
push ebx
push dword [ebp - 0x10]
call sub.KERNEL32.dll_SetEnvironmentVariableW
test eax, eax
je 0x43fc1e
mov al, 4
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x43fbf7
add ecx, ecx
push 2
push ecx
push ebx
mov ebx, eax
call sym.___rust_dealloc
mov eax, ebx
add esp, 0xc
test esi, esi
je 0x43fc39
add esi, esi
push 2
push esi
push dword [ebp - 0x10]
mov esi, eax
call sym.___rust_dealloc
mov eax, esi
add esp, 0xc
mov ebx, dword [ebp - 0x14]
cmp al, 4
jne 0x43fc40
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl eax, 0x18
mov dword [ebp - 0x14], eax
shr edi, 8
xor eax, eax
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x43fbe5
jmp 0x43fbf7
mov ebx, dword [ebp - 0x14]
cmp al, 4
je 0x43fc16
shld edi, ebx, 8
shl ebx, 8
movzx eax, al
mov dword [ebp - 0x60], 0x4be31c
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x50], 0
or eax, ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x30], sym.__LT_std..path..Display_u20_as_u20_core..fmt..Debug_GT_::fmt::hdb804b0aa1ded1e7
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x28], sym.__LT_std..path..Display_u20_as_u20_core..fmt..Debug_GT_::fmt::hdb804b0aa1ded1e7
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x20], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h12ee7560cc3570d1
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 3
lea eax, [ebp - 0x60]
push 0x4be334
push eax
call dbg.panic_fmt
add esp, 8
ud2
Function at 0x43fd30
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x30]
push eax
call sym.std::sys::pal::windows::to_u16s::inner::h1c3101dfdc85d063
add esp, 4
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
cmp esi, 0x80000000
jne 0x43fd6f
mov edi, dword [ebp - 0x28]
mov eax, ebx
mov ecx, ebx
shrd eax, edi, 8
shr edi, 8
jmp 0x43fd97
push 0
push ebx
call sub.KERNEL32.dll_SetEnvironmentVariableW
test eax, eax
je 0x43fda4
mov cl, 4
test esi, esi
je 0x43fd97
add esi, esi
push 2
push esi
push ebx
mov esi, eax
mov ebx, ecx
call sym.___rust_dealloc
mov ecx, ebx
mov eax, esi
add esp, 0xc
cmp cl, 4
jne 0x43fdb9
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl eax, 0x18
xor ecx, ecx
shr edi, 8
test esi, esi
jne 0x43fd81
jmp 0x43fd97
shld edi, eax, 8
shl eax, 8
movzx ecx, cl
mov dword [ebp - 0x30], 0x4be36c
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x20], 0
or ecx, eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x44], sym.__LT_std..path..Display_u20_as_u20_core..fmt..Debug_GT_::fmt::hdb804b0aa1ded1e7
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x3c], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h12ee7560cc3570d1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 2
push 0x4be37c
lea eax, [ebp - 0x30]
push eax
call dbg.panic_fmt
add esp, 8
ud2
Function at 0x441390
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4414d3
js 0x44150e
mov eax, dword [0x4d8218]
movzx eax, byte [eax]
push 1
push ebx
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x441513
mov esi, eax
mov edi, eax
push ebx
push dword [ebp + 0xc]
push esi
call sym._memcpy
add esp, 0xc
cmp ebx, 8
mov ecx, esi
jb 0x4414de
xor eax, eax
cmp ebx, 0x20
jb 0x441472
movdqa xmm0, xmmword [0x4bc9a0]
movdqa xmm1, xmmword [0x4bc9b0]
movdqa xmm2, xmmword [0x4bc9c0]
mov eax, ebx
xor ecx, ecx
and eax, 0xffffffe0
nop dword [eax + eax]
movdqu xmm4, xmmword [edi + ecx]
movdqu xmm3, xmmword [edi + ecx + 0x10]
movdqa xmm5, xmm4
movdqa xmm6, xmm3
paddb xmm5, xmm0
paddb xmm6, xmm0
movdqa xmm7, xmm5
pminub xmm7, xmm1
pcmpeqb xmm7, xmm5
movdqa xmm5, xmm6
pminub xmm5, xmm1
pand xmm7, xmm2
pcmpeqb xmm5, xmm6
pxor xmm7, xmm4
pand xmm5, xmm2
movdqu xmmword [edi + ecx], xmm7
pxor xmm5, xmm3
movdqu xmmword [edi + ecx + 0x10], xmm5
add ecx, 0x20
cmp eax, ecx
jne 0x441410
cmp eax, ebx
je 0x4414fa
test bl, 0x18
je 0x4414da
movdqa xmm0, xmmword [0x4bc9d0]
movdqa xmm1, xmmword [0x4bc9e0]
movdqa xmm2, xmmword [0x4bc9f0]
mov edx, ebx
and edx, 0xfffffff8
lea ecx, [esi + edx]
nop word cs:[eax + eax]
nop dword [eax]
movq xmm3, qword [edi + eax]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
pxor xmm5, xmm3
movq qword [edi + eax], xmm5
add eax, 8
cmp edx, eax
jne 0x4414a0
cmp edx, ebx
jne 0x4414de
jmp 0x4414fa
mov edi, 1
jmp 0x4414fa
add eax, esi
mov ecx, eax
add esi, ebx
movzx eax, byte [ecx]
mov edx, eax
add dl, 0x9f
cmp dl, 0x1a
setb dl
shl dl, 5
xor dl, al
mov byte [ecx], dl
inc ecx
cmp ecx, esi
jne 0x4414e0
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
pop esi
pop edi
pop ebx
pop ebp
ret
call dbg.capacity_overflow
push ebx
push 1
call dbg.handle_alloc_error
nop dword [eax + eax]
Function at 0x4490b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov edi, ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x50]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], eax
movups xmmword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x50], xmm0
lea eax, [ebp - 0x30]
push sym.__ZN3std3sys3pal7windows4pipe8AnonPipe21alertable_io_internal8callback17ha10796af46e13059E_12
push eax
push 0x20
push ecx
push edx
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x44912b
nop word cs:[eax + eax]
nop dword [eax]
push 1
push 0xffffffffffffffff
call sub.KERNEL32.dll_SleepEx
cmp dword [ebp - 0x1c], 0
je 0x449100
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x449148
mov ecx, ebx
call dbg.decode_error_kind
cmp al, 0xb
jne 0x44913d
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10], edi
xor edi, edi
jmp 0x449160
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
mov ecx, ebx
call dbg.decode_error_kind
cmp al, 0xb
je 0x449121
mov dword [edi], 0
mov dword [edi + 4], ebx
jmp 0x449181
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x14]
cmp edi, 0x21
jae 0x44919b
mov eax, dword [esi]
mov ebx, dword [esi + 8]
mov ecx, esi
sub eax, ebx
cmp eax, edi
jb 0x449189
mov eax, dword [esi + 4]
add eax, ebx
push edi
lea ecx, [ebp - 0x50]
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10]
add ebx, edi
mov dword [esi + 8], ebx
mov dword [eax + 4], edi
mov byte [eax], 4
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
mov edx, ebx
push edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve::do_reserve_and_handle::h0c47efcc3265e9e9
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x449160
push 0x4bec3c
push 0x20
push edi
call dbg.slice_end_index_len_fail
nop dword [eax + eax]
Function at 0x44ad20
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
xor esi, esi
mov ecx, dword [eax]
cmp edi, 0x3b9aca00
je 0x44ad7e
mov eax, dword [ebp + 0x14]
mov ebx, 0x3e8
mov dword [ebp - 0x14], ecx
mul ebx
mov esi, eax
mov eax, dword [ebp + 0x10]
seto cl
mul ebx
mov ebx, edx
mov dword [ebp - 0x10], eax
add ebx, esi
mov esi, 0xffffffff
setb al
or al, cl
jne 0x44ad7b
mov ecx, 0x431bde83
mov eax, edi
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 0x12
add eax, edx
adc ebx, 0
jae 0x44adc1
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
push 4
push eax
push 0x1006
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
mov esi, dword [ebp + 8]
mov cl, 4
cmp eax, 0xffffffff
jne 0x44adb5
call sub.WS2_32.dll_WSAGetLastError
xor ecx, ecx
mov byte [esi + 3], 0
mov word [esi + 1], 0
mov dword [esi + 4], eax
mov byte [esi], cl
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], eax
imul eax, edx, 0xf4240
xor ecx, ecx
sub edi, eax
mov eax, dword [ebp - 0x10]
setne cl
add eax, ecx
mov ecx, dword [ebp - 0x14]
adc ebx, 0
jb 0x44ad7e
xor esi, esi
neg ebx
sbb esi, esi
or esi, eax
jne 0x44ad7e
mov esi, dword [ebp + 8]
mov byte [esi], 2
mov dword [esi + 4], 0x4c0544
jmp 0x44adb7

Function at 0x44ae00
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x18]
xor esi, esi
mov ecx, dword [eax]
cmp edi, 0x3b9aca00
je 0x44ae5e
mov eax, dword [ebp + 0x14]
mov ebx, 0x3e8
mov dword [ebp - 0x14], ecx
mul ebx
mov esi, eax
mov eax, dword [ebp + 0x10]
seto cl
mul ebx
mov ebx, edx
mov dword [ebp - 0x10], eax
add ebx, esi
mov esi, 0xffffffff
setb al
or al, cl
jne 0x44ae5b
mov ecx, 0x431bde83
mov eax, edi
mul ecx
mov eax, dword [ebp - 0x10]
shr edx, 0x12
add eax, edx
adc ebx, 0
jae 0x44aea1
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
push 4
push eax
push 0x1005
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
mov esi, dword [ebp + 8]
mov cl, 4
cmp eax, 0xffffffff
jne 0x44ae95
call sub.WS2_32.dll_WSAGetLastError
xor ecx, ecx
mov byte [esi + 3], 0
mov word [esi + 1], 0
mov dword [esi + 4], eax
mov byte [esi], cl
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], eax
imul eax, edx, 0xf4240
xor ecx, ecx
sub edi, eax
mov eax, dword [ebp - 0x10]
setne cl
add eax, ecx
mov ecx, dword [ebp - 0x14]
adc ebx, 0
jb 0x44ae5e
xor esi, esi
neg ebx
sbb esi, esi
or esi, eax
jne 0x44ae5e
mov esi, dword [ebp + 8]
mov byte [esi], 2
mov dword [esi + 4], 0x4c0544
jmp 0x44ae97