joyce8/EMBER2024-capa huggingface dataset:
Function at 0x454165
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x838
mov eax, 0x5d03f7
call fcn.0059d760
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x828]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x840], edi
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x840], eax
mov eax, dword [ebp + 0x1c]
push eax
call fcn.004030c0
xor ecx, ecx
lea eax, [ebp - 0x830]
push eax
push 0x20119
push ecx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push reloc.WS2_32.dll_closesocket
mov dword [ebp - 4], ecx
mov dword [ebp - 0x830], ecx
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x838], ecx
mov dword [ebp - 0x834], ecx
call esi
test eax, eax
je 0x454207
xor eax, eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov byte [ebp - 0x82c], al
push dword [ebp - 0x82c]
mov ecx, edi
lea eax, [ebp - 0x828]
push eax
call fcn.0043ec71
jmp 0x454357
lea eax, [ebp - 0x83c]
push eax
push 0x20119
push 0
push str.SoftWare
push dword [ebp - 0x830]
call esi
test eax, eax
je 0x454234
push dword [ebp - 0x830]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4541e0
lea eax, [ebp - 0x838]
push eax
push 0x20119
push 0
push ebx
push dword [ebp - 0x83c]
call esi
test eax, eax
je 0x45426a
push dword [ebp - 0x83c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x830]
call esi
jmp 0x4541e0
lea eax, [ebp - 0x834]
xor ebx, ebx
push eax
push 0x20119
push ebx
push dword [ebp - 0x82c]
push dword [ebp - 0x838]
call esi
test eax, eax
je 0x4542ba
push dword [ebp - 0x834]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x838]
call esi
push dword [ebp - 0x830]
call esi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov byte [ebp - 0x82c], bl
jmp 0x4541ee
push 0x800
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x844], 0x400
lea eax, [ebp - 0x844]
push eax
lea eax, [ebp - 0x810]
push eax
push ebx
push ebx
push dword [ebp - 0x840]
push dword [ebp - 0x834]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x834]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x838]
call esi
push dword [ebp - 0x83c]
call esi
push dword [ebp - 0x830]
call esi
lea eax, [ebp - 0x810]
push eax
call fcn.005b025f
pop ecx
mov ecx, edi
test eax, eax
jne 0x45434b
mov byte [ebp - 0x840], bl
push dword [ebp - 0x840]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
jmp 0x4541f6
lea eax, [ebp - 0x810]
push eax
call fcn.004030c0
lea ecx, [ebp - 0x828]
call fcn.00403060
mov eax, edi
call fcn.0059d70a
ret
Function at 0x45436a
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x834
mov eax, 0x5d26d6
call fcn.0059d760
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x828]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x83c], edi
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.004030c0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x838]
push eax
xor ecx, ecx
push 0x20119
push ecx
push str.SoftWare
push reloc.WS2_32.dll_bind
mov dword [ebp - 4], ecx
mov dword [ebp - 0x838], ecx
mov dword [ebp - 0x834], ecx
mov dword [ebp - 0x830], ecx
call esi
test eax, eax
je 0x454408
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
mov byte [ebp - 0x82c], 0
push dword [ebp - 0x82c]
mov ecx, edi
lea eax, [ebp - 0x828]
push eax
call fcn.0043ec71
jmp 0x45451c
lea eax, [ebp - 0x834]
push eax
push 0x20119
push 0
push ebx
push dword [ebp - 0x838]
call esi
test eax, eax
je 0x45443f
push dword [ebp - 0x838]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov byte [ebp - 0x82c], al
jmp 0x4543ef
lea eax, [ebp - 0x830]
xor ebx, ebx
push eax
push 0x20119
push ebx
push dword [ebp - 0x82c]
push dword [ebp - 0x834]
call esi
test eax, eax
je 0x454487
push dword [ebp - 0x834]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x830]
call esi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov byte [ebp - 0x82c], bl
jmp 0x4543ef
push 0x800
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x840], 0x400
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x810]
push eax
push ebx
push ebx
push dword [ebp - 0x83c]
push dword [ebp - 0x830]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x830]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x834]
call esi
push dword [ebp - 0x838]
call esi
lea eax, [ebp - 0x810]
push eax
call fcn.005b025f
pop ecx
mov ecx, edi
test eax, eax
jne 0x454510
mov byte [ebp - 0x83c], bl
push dword [ebp - 0x83c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
jmp 0x4543f7
lea eax, [ebp - 0x810]
push eax
call fcn.004030c0
lea ecx, [ebp - 0x828]
call fcn.00403060
mov eax, edi
call fcn.0059d70a
ret
Function at 0x45452f
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x82c
mov eax, 0x5d2709
call fcn.0059d760
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x828]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x838], edi
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.004030c0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x830]
push eax
xor ecx, ecx
push 0x20119
push ecx
push str.SoftWare
push reloc.WS2_32.dll_bind
mov dword [ebp - 4], ecx
mov dword [ebp - 0x830], ecx
mov dword [ebp - 0x834], ecx
call esi
test eax, eax
je 0x4545be
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
mov byte [ebp - 0x82c], 0
mov ecx, edi
push dword [ebp - 0x82c]
lea eax, [ebp - 0x828]
push eax
call fcn.0043ec71
jmp 0x45467e
lea eax, [ebp - 0x834]
push eax
push 0x20119
push 0
push ebx
push dword [ebp - 0x830]
call esi
test eax, eax
je 0x4545f5
push dword [ebp - 0x830]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov byte [ebp - 0x82c], al
jmp 0x4545a5
push 0x800
xor ebx, ebx
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x838], 0x400
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0x810]
push eax
push ebx
push ebx
push dword [ebp - 0x82c]
push dword [ebp - 0x834]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x834]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x830]
call esi
lea eax, [ebp - 0x810]
push eax
call fcn.005b025f
pop ecx
mov ecx, edi
test eax, eax
jne 0x454672
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov byte [ebp - 0x82c], bl
jmp 0x4545a7
lea eax, [ebp - 0x810]
push eax
call fcn.004030c0
lea ecx, [ebp - 0x828]
call fcn.00403060
mov eax, edi
call fcn.0059d70a
ret
Function at 0x454691
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d273c
mov eax, dword fs:[0]
push eax
mov eax, 0x2030
call fcn.0059d3d0
mov eax, dword [0x667d00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x2028]
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x203c], edi
mov dword [ebp - 0x202c], eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.004030c0
xor ecx, ecx
lea eax, [ebp - 0x2038]
push eax
push 0xf013f
push ecx
push str.SoftWare
push reloc.WS2_32.dll_accept
mov dword [ebp - 4], ecx
mov dword [ebp - 0x2038], ecx
mov dword [ebp - 0x2034], ecx
mov dword [ebp - 0x2030], ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x454749
xor eax, eax
mov ecx, edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov byte [ebp - 0x202c], al
push dword [ebp - 0x202c]
lea eax, [ebp - 0x2028]
push eax
call fcn.0043ec71
jmp 0x454849
xor ecx, ecx
lea eax, [ebp - 0x2034]
push ecx
push eax
push ecx
push 0xf013f
push ecx
push ecx
push ecx
push esi
push dword [ebp - 0x2038]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
call esi
test eax, eax
je 0x45477d
push dword [ebp - 0x2038]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454722
xor ecx, ecx
lea eax, [ebp - 0x2030]
push ecx
push eax
push ecx
push 0xf013f
push ecx
push ecx
push ecx
push ebx
push dword [ebp - 0x2034]
call esi
test eax, eax
je 0x4547b8
push dword [ebp - 0x2034]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x2030]
call esi
jmp 0x454722
push 0x2000
xor ebx, ebx
lea eax, [ebp - 0x2010]
push ebx
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x203c], 0x1000
lea eax, [ebp - 0x203c]
push eax
lea eax, [ebp - 0x2010]
push eax
push ebx
push ebx
push dword [ebp - 0x202c]
push dword [ebp - 0x2030]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x2030]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x2034]
call esi
push dword [ebp - 0x2038]
call esi
lea eax, [ebp - 0x2010]
push eax
call fcn.005b025f
pop ecx
mov ecx, edi
test eax, eax
jne 0x45483d
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov byte [ebp - 0x202c], bl
jmp 0x454732
lea eax, [ebp - 0x2010]
push eax
call fcn.004030c0
lea ecx, [ebp - 0x2028]
call fcn.00403060
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0059d38a
leave
ret
Function at 0x454870
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 4]
push edi
push eax
xor edi, edi
mov ebx, 0xf013f
push ebx
push edi
push dword [ebp + 0xc]
mov dword [ebp - 4], edi
push reloc.WS2_32.dll_closesocket
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
call esi
test eax, eax
jne 0x454948
lea eax, [ebp - 8]
push eax
push ebx
push edi
push str.SoftWare
push dword [ebp - 4]
call esi
test eax, eax
je 0x4548c9
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454948
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 0xc]
push edi
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 8]
push dword [ebp - 8]
call esi
test eax, eax
je 0x4548ed
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x45493e
push edi
lea eax, [ebp - 0x10]
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 0x10]
push dword [ebp - 0xc]
call esi
test eax, eax
je 0x45490b
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454939
push dword [ebp + 0x18]
call fcn.005b025f
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x18]
push 1
push edi
push dword [ebp + 0x14]
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x10]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0xc]
call esi
push dword [ebp - 8]
call esi
push dword [ebp - 4]
call esi
pop edi
pop esi
pop ebx
leave
ret

Function at 0x45494d
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push edi
lea eax, [ebp - 0xc]
xor edi, edi
push eax
mov ebx, 0xf013f
mov dword [ebp - 0xc], edi
push ebx
push edi
push str.SoftWare
push reloc.WS2_32.dll_bind
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x454a0a
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 8]
push edi
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 8]
push dword [ebp - 0xc]
call esi
test eax, eax
je 0x4549ab
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454a09
push edi
lea eax, [ebp - 4]
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 0xc]
push dword [ebp - 8]
call esi
test eax, eax
je 0x4549d1
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
jmp 0x454a07
push dword [ebp + 0x14]
call fcn.005b025f
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x14]
push 1
push edi
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 4]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 8]
call esi
push dword [ebp - 0xc]
call esi
pop esi
pop edi
pop ebx
leave
ret
Function at 0x454a0e
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push edi
lea eax, [ebp - 4]
xor esi, esi
push eax
mov edi, 0xf013f
mov dword [ebp - 4], esi
push edi
push esi
push str.SoftWare
push reloc.WS2_32.dll_bind
mov dword [ebp - 8], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x454a94
push esi
lea eax, [ebp - 8]
push eax
push esi
push edi
push esi
push esi
push esi
push dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x454a61
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454a94
push dword [ebp + 0x10]
call fcn.005b025f
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x10]
push 1
push esi
push dword [ebp + 0xc]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
call esi
pop edi
pop esi
leave
ret

Function at 0x454a98
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push edi
lea eax, [ebp - 0xc]
xor edi, edi
push eax
mov ebx, 0xf013f
mov dword [ebp - 0xc], edi
push ebx
push edi
push str.SoftWare
push reloc.WS2_32.dll_accept
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x454b55
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 8]
push edi
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 8]
push dword [ebp - 0xc]
call esi
test eax, eax
je 0x454af6
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x454b54
push edi
lea eax, [ebp - 4]
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 0xc]
push dword [ebp - 8]
call esi
test eax, eax
je 0x454b1c
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
jmp 0x454b52
push dword [ebp + 0x14]
call fcn.005b025f
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x14]
push 1
push edi
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 4]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 8]
call esi
push dword [ebp - 0xc]
call esi
pop esi
pop edi
pop ebx
leave
ret
Function at 0x4564fe
Capabilities:
Read file via mapping

Disassembly:
push 0x28
mov eax, 0x5cb668
call fcn.0059d760
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x1c], eax
je 0x456555
push str.Global_
call fcn.005b025f
pop ecx
push eax
push str.Global_
lea ecx, [ebp - 0x28]
call fcn.004032c0
push esi
call fcn.005b025f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00405ab0
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push eax
call fcn.00417ea0
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push ebx
push 4
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4565f6
push ebx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0x4565ed
push ebx
lea eax, [esi + 4]
push edi
push eax
call fcn.00443aa0
add esp, 0xc
test al, al
je 0x4565e6
push dword [esi]
call fcn.0059d3be
mov edi, eax
pop ecx
test edi, edi
je 0x4565e6
push dword [esi]
push ebx
push edi
call fcn.005a26c0
push dword [esi]
lea eax, [esi + 0x28]
push eax
push edi
call fcn.005a1bc0
mov eax, dword [ebp - 0x30]
add esp, 0x18
mov ecx, dword [ebp - 0x34]
mov bl, 1
mov dword [eax], edi
mov eax, dword [esi]
mov dword [ecx], eax
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x28]
call fcn.00403060
mov al, bl
call fcn.0059d70a
ret

Function at 0x456ba3
Capabilities:
Hash data with md5

Disassembly:
xor eax, eax
mov byte [ecx + 0x89], al
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x67452301
mov dword [ecx + 4], 0xefcdab89
mov dword [ecx + 8], 0x98badcfe
mov dword [ecx + 0xc], 0x10325476
ret
Function at 0x457d2b
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 8]
mov eax, ecx
push esi
push edi
mov dword [ebp - 4], eax
lea edi, [eax + 0x210]
mov esi, dword [edi]
mov dword [ebp - 8], edi
cmp esi, dword [eax + 0x214]
je 0x457df8
lea edi, [esi + 0x28]
lea ecx, [ebx + 0xa8]
mov dword [ebp + 8], edi
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x5dbacc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub edi, 0xffffff80
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x5dbacc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [ebx + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x5dbacc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x5dbacc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [ebx + 0xa8]
push edi
push eax
call fcn.005b09c0
mov edi, dword [ebp + 8]
pop ecx
pop ecx
test eax, eax
jne 0x457dd4
lea eax, [ebx + 0x28]
push edi
push eax
call fcn.005b09c0
pop ecx
pop ecx
test eax, eax
je 0x457e15
mov eax, 0x1b0
lea ecx, [ebx + 0xa8]
add edi, eax
add esi, eax
mov eax, dword [ebp - 4]
mov dword [ebp + 8], edi
cmp esi, dword [eax + 0x214]
jne 0x457d5e
mov edi, dword [ebp - 8]
lea eax, [ebx + 0xa8]
push eax
call fcn.005b0280
pop ecx
test eax, eax
je 0x457e15
push ebx
mov ecx, edi
call fcn.00457c7d
mov al, 1
jmp 0x457e17
xor al, al
pop edi
pop esi
pop ebx
leave
ret 4
Function at 0x4585f7
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x667d00]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, 0x114
push edi
push ebx
xor edi, edi
mov eax, dword [esi + 0x210]
mov dword [esi + 0x214], eax
lea eax, [ebp - 0x118]
push edi
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x118], ebx
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x108], 2
jne 0x458658
mov ecx, esi
call fcn.004580e4
jmp 0x45866d
mov ebx, edi
test edi, edi
jne 0x45866d
mov ecx, esi
call fcn.00457fc1
inc ebx
mov edi, eax
cmp ebx, 0xa
jl 0x45865a
mov eax, dword [esi + 0x214]
mov ecx, 0x1b0
sub eax, dword [esi + 0x210]
cdq
idiv ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0059d38a
leave
ret
Function at 0x45d970
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi]
cmp dword [eax + 4], 3
jne 0x45d99c
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x45d98d
pop edi
xor eax, eax
pop esi
pop ebp
ret
push dword [eax + 8]
push dword [ebp + 0x10]
push 1
push dword [ebp + 0xc]
call ecx
jmp 0x45d9d0
cmp dword [esi + 8], 0
jne 0x45d9c0
push 0x5de8fc
push dword [eax + 8]
call fcn.005b04b3
add esp, 8
mov dword [esi + 8], eax
test eax, eax
jne 0x45d9c0
pop edi
or eax, 0xffffffff
pop esi
pop ebp
ret
push dword [esi + 8]
push dword [ebp + 0x10]
push 1
push dword [ebp + 0xc]
call fcn.005b1244
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x45d9f2
mov eax, dword [esi + 8]
test eax, eax
je 0x45d9ec
push eax
call fcn.005b0540
add esp, 4
mov dword [esi + 8], edi
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, edi
pop edi
pop esi
pop ebp
ret

Function at 0x45de10
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x667d00]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x45de60
mov eax, dword [ebp - 0x194]
cmp al, 2
jne 0x45de5a
shr eax, 8
cmp al, 2
jne 0x45de5a
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059d38a
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 4]
mov eax, 2
xor ecx, ebp
call fcn.0059d38a
mov esp, ebp
pop ebp
ret
Function at 0x45eec0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.0046fcc0

Function at 0x45fee0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push eax
push edi
mov esi, dword [edi + eax*4 + 0x168]
call fcn.004601c0
add esp, 8
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
call dword [sym.imp.WS2_32.dll_send]
mov ebx, eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
cmp ebx, 0xffffffff
jne 0x45ff64
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
cmp esi, 0x2733
jne 0x45ff3c
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [eax], 0x51
xor eax, eax
pop ebp
ret
push esi
push edi
call fcn.0045df60
push eax
push str.Send_failure:__s
push dword [edi]
call fcn.0045fba0
mov eax, dword [edi]
add esp, 0x14
mov dword [eax + 0x85b8], esi
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x37
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret

Function at 0x4601c0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, edx
push ebx
push esi
shl eax, 4
lea esi, [ecx + 0x18c]
mov ebx, dword [ecx + edx*4 + 0x168]
add esi, eax
mov eax, dword [ecx + 0x248]
push edi
mov edi, dword [esi + 4]
sub edi, dword [esi + 8]
test byte [eax + 0x3c], 3
je 0x460270
cmp dword [ecx + edx*4 + 0x17c], 0x45fe30
jne 0x460270
cmp dword [esi], 0
je 0x460208
test edi, edi
je 0x460270
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
call fcn.0046e2a0
add esp, 0x10
cmp eax, 0xffffffff
je 0x460270
test al, 1
je 0x460270
cmp dword [esi], 0
jne 0x460259
push 0x8000
mov dword [esi + 4], 0x8000
call dword [0x664320]
mov edi, dword [esi + 4]
add esp, 4
mov dword [esi], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
test eax, eax
jne 0x460259
pop edi
mov dword [esi + 4], eax
pop esi
pop ebx
pop ebp
ret
mov eax, dword [esi]
add eax, dword [esi + 8]
push 0
push edi
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x460270
add dword [esi + 8], eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x460280
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x190]
test eax, eax
je 0x4602a9
push dword [esi + 0x11c]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call eax
add esp, 0x14
pop esi
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp eax, 2
ja 0x4602df
push dword [esi + 0x118]
lea eax, [eax + eax*2]
push 1
add eax, 0x5dfac0
push 2
push eax
call fcn.005b07f8
push dword [esi + 0x118]
push 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.005b07f8
add esp, 0x20
xor eax, eax
pop esi
pop ebp
ret
Function at 0x466280
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x46629e
cmp dword [esi + 0x48], 0
je 0x46629e
push 2
push 3
push esi
call fcn.00473d10
add esp, 0xc
push dword [ebp + 0xc]
call fcn.004744e0
add esp, 4
test esi, esi
je 0x4662be
cmp dword [esi + 0x48], 0
je 0x4662be
push 3
push esi
call fcn.00473d50
add esp, 8
pop esi
pop ebp
ret