joyce8/EMBER2024-capa huggingface dataset:
Function at 0x45b4e0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x68
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x64], eax
push esi
mov esi, dword [esp + 0x70]
lea eax, [esp + 4]
push str.__xml_version_1.0__encoding_UTF_8__standalone_yes____n_Progresivos__n
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0xc]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b510
push esi
sub eax, edx
push 1
push eax
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.MSVCR100.dll_fwrite]
mov ecx, dword [esp + 0x78]
add esp, 0x10
pop esi
xor ecx, esp
call fcn.004c6212
add esp, 0x68
ret

Function at 0x45b540
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x68
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x64], eax
push ebx
mov ebx, dword [sym.imp.MSVCR100.dll_sprintf]
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, dword [esp + 0x78]
push edi
lea eax, [esp + 0x10]
push str._Progresivo__n
push eax
call ebx
lea eax, [esp + 0x18]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b576
mov edi, dword [sym.imp.MSVCR100.dll_fwrite]
push esi
sub eax, edx
push 1
push eax
lea ecx, [esp + 0x1c]
push ecx
call edi
push ebp
lea edx, [esp + 0x24]
push str._Nombre__s__Nombre__n
push edx
call ebx
lea eax, [esp + 0x2c]
add esp, 0x1c
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b5a7
push esi
sub eax, ebp
push 1
push eax
lea eax, [esp + 0x1c]
push eax
call edi
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push ecx
push edx
lea eax, [esp + 0x28]
push str._ValorActual__d._02d__ValorActual__n
push eax
call ebx
lea eax, [esp + 0x30]
add esp, 0x20
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b5e1
push esi
sub eax, ebp
push 1
push eax
lea ecx, [esp + 0x1c]
push ecx
call edi
lea edx, [esp + 0x20]
push str.__Progresivo__n
push edx
call ebx
lea eax, [esp + 0x28]
add esp, 0x18
lea edx, [eax + 1]
jmp 0x45b610
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b610
push esi
sub eax, edx
push 1
push eax
lea eax, [esp + 0x1c]
push eax
call edi
mov ecx, dword [esp + 0x84]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x68
ret

Function at 0x45b640
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x68
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x64], eax
push esi
mov esi, dword [esp + 0x70]
lea eax, [esp + 4]
push str.__Progresivos_
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0xc]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b670
push esi
sub eax, edx
push 1
push eax
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.MSVCR100.dll_fwrite]
mov ecx, dword [esp + 0x78]
add esp, 0x10
pop esi
xor ecx, esp
call fcn.004c6212
add esp, 0x68
ret
Function at 0x45ba30
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4cc02e
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
mov eax, dword [0x54e864]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
lea eax, [esp + 8]
push eax
mov dword [esp + 0x11c], 0
call fcn.0044a510
lea eax, [esp + 0xc]
add esp, 4
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45ba85
mov ecx, dword [str.Bos_Integrator.log]
mov edx, dword [0x4f41cc]
mov dword [eax], ecx
mov ecx, dword [0x4f41d0]
mov dword [eax + 4], edx
mov edx, dword [0x4f41d4]
mov dword [eax + 8], ecx
mov ecx, dword [0x4f41d8]
mov dword [eax + 0xc], edx
lea edx, [esp + 8]
push 0x4f41dc
push edx
mov dword [eax + 0x10], ecx
call dword [sym.imp.MSVCR100.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x45bb0f
mov eax, dword [esp + 0x120]
mov ecx, dword [eax - 0xc]
push esi
push ecx
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
lea edx, [esp + 0x1c]
push edx
call fcn.00429d40
add esp, 0x18
cmp eax, 0x5f5e100
jbe 0x45bb0f
lea eax, [esp + 8]
push eax
call fcn.00429d80
add esp, 4
lea ecx, [esp + 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004c6212
add esp, 0x114
ret 4
Function at 0x45bcd0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4cc092
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x14], eax
push ebx
push esi
push edi
mov eax, dword [0x54e864]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], 0
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [esp + 0x30], 1
call fcn.0044a990
movzx eax, al
cmp dword [esp + 0x38], eax
jg 0x45bdf4
call fcn.0044a410
test al, al
je 0x45bdf4
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [esp + 0x22]
movzx eax, word [esp + 0x20]
movzx ecx, word [esp + 0x1e]
push edx
movzx edx, word [esp + 0x20]
push eax
movzx eax, word [esp + 0x1c]
push ecx
movzx ecx, word [esp + 0x22]
push edx
movzx edx, word [esp + 0x2a]
push eax
push ecx
push edx
lea eax, [esp + 0x2c]
push str._02d__02d__04d___02d:_02d:_02d._03d_
push eax
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0x24
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_1479]
push 0x4f41c4
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_1483]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ebx, [esi + 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi]
mov ecx, dword [edi + 4]
lea eax, [esp + 0x10]
push eax
push ecx
push edi
mov ecx, esi
call fcn.0045bfc0
mov ecx, dword [esi + 4]
mov edx, 0x3ffffffe
sub edx, ecx
cmp edx, 1
jae 0x45bde1
push str.list_T__too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
inc ecx
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov ecx, dword [eax + 4]
push ebx
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x3c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.004c6212
add esp, 0x24
ret 8
Function at 0x466690
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
mov dword [ecx + 0xa4], eax
mov dword [esp + 4], 1
jmp fcn.00464f20

Function at 0x466960
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x108
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
push edi
lea eax, [esp + 8]
push eax
mov edi, ecx
call fcn.0044a920
lea eax, [esp + 0xc]
add esp, 4
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x466990
mov ecx, dword [str._newcert.pem]
mov edx, dword [0x4f8d54]
mov dword [eax], ecx
mov ecx, dword [0x4f8d58]
mov dword [eax + 4], edx
mov dl, byte [0x4f8d5c]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], dl
lea eax, [esp + 8]
push 0x4f8d60
push eax
call dword [sym.imp.MSVCR100.dll_fopen]
push 0x1000
add edi, 0x138
push 0
push edi
mov esi, eax
call sub.MSVCR100.dll_memset
add esp, 0x14
test esi, esi
jne 0x4669f5
push 0x4f8d64
push esi
call fcn.0042a000
add esp, 8
push esi
push 0x1000
push 1
push edi
call dword [sym.imp.MSVCR100.dll_fread]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
mov ecx, dword [esp + 0x120]
add esp, 0x14
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.004c6212
add esp, 0x108
ret

Function at 0x466b10
Capabilities:
Connect socket
Initialize winsock library

Disassembly:
sub esp, 0x1a0
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x19c], eax
push esi
lea eax, [esp + 4]
push eax
push 0x101
mov esi, ecx
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
je 0x466b56
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error__d_WSAStartup__
push 0
call fcn.0042a000
add esp, 0xc
jmp 0x466be5
xor eax, eax
push eax
push 1
mov dword [esi + 0x14], eax
push 2
mov dword [esi + 0x18], eax
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esi]
push 0x10
lea ecx, [esi + 0xc]
push ecx
push edx
mov dword [esi + 0x1158], eax
call dword [sym.imp.WSOCK32.dll_connect]
test eax, eax
jns 0x466bbe
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error__d_al_conectar_el_socket_para_PICMATIC_
push 0
call fcn.0042a000
add esp, 0xc
mov word [esi + 8], 0
xor eax, eax
pop esi
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.004c6212
add esp, 0x1a0
ret
lea eax, [esp + 0x194]
push eax
call fcn.0044a900
lea ecx, [esp + 0x198]
push ecx
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 8
mov dword [esi + 0x1c], eax
mov word [esi + 8], 0x101
mov ecx, dword [esp + 0x1a0]
pop esi
xor ecx, esp
mov eax, 1
call fcn.004c6212
add esp, 0x1a0
ret
Function at 0x466c60
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x2014
call fcn.004c6360
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x2010], eax
push ebx
push esi
push edi
push 0x1004
lea eax, [esp + 0x10]
push 0
push eax
mov esi, ecx
call sub.MSVCR100.dll_memset
lea ecx, [esp + 0x101c]
push ecx
call fcn.0044a900
lea edx, [esp + 0x1020]
push edx
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 0x14
push 0x1000
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00466960
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
push 0x1000
lea ecx, [esp + 0x102c]
push 0
push ecx
call sub.MSVCR100.dll_memset
add esp, 0x18
cmp byte [esi + 9], 0
jne 0x466cec
mov ecx, esi
call fcn.00466c00
mov edx, dword [esi]
mov ebx, dword [sym.imp.WSOCK32.dll_setsockopt]
push 8
lea edi, [esi + 0x130]
push edi
push 0x1005
push 0xffff
push edx
call ebx
test eax, eax
jns 0x466d48
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x4f8e34
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xfffffffa
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov ecx, dword [esi]
push 0
push 0x1004
lea eax, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_send]
mov edx, dword [esi]
push 8
push edi
push 0x1006
push 0xffff
push edx
call ebx
test eax, eax
jns 0x466dad
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x4f8e58
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xfffffffa
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov ecx, dword [esi]
push 0
push 0x1000
lea eax, [esp + 0x1024]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_recv]
test eax, eax
jns 0x466e03
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error_conectando_con_PICMATIC__d
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xffffffce
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov edx, dword [esi]
push 2
push edx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov eax, dword [esi]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
cmp byte [esp + 0x101c], 0x31
mov ecx, dword [esp + 0x201c]
pop edi
mov dword [esi], 0xffffffff
mov byte [esi + 9], 0
pop esi
sete al
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
push esi
mov esi, ecx
call fcn.0044a890
movsx eax, al
dec eax
je 0x4697c2
dec eax
je 0x4697c6
dec eax
xor al, al
pop esi
ret
lea ecx, [esi + 0xf054]
pop esi
jmp 0x466c60
Function at 0x466e50
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
mov eax, 0x1004
call fcn.004c6360
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x1000], eax
push ebx
push esi
push 0x1000
xor ebx, ebx
lea eax, [esp + 0xc]
push ebx
push eax
mov esi, ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
cmp byte [esi + 9], bl
jne 0x466e8d
mov ecx, esi
call fcn.00466c00
mov edx, dword [esi]
push 8
lea ecx, [esi + 0x130]
push ecx
push 0x1006
push 0xffff
push edx
call dword [sym.imp.WSOCK32.dll_setsockopt]
test eax, eax
jns 0x466edb
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error_de_seteo_de_Timeout_de_Recepcion_::__d_::
push ebx
call fcn.0042a000
add esp, 0xc
pop esi
mov al, 0xfa
pop ebx
mov ecx, dword [esp + 0x1000]
xor ecx, esp
call fcn.004c6212
add esp, 0x1004
ret
mov ecx, dword [esi]
push ebx
push 0x1000
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_recv]
test eax, eax
jns 0x466f30
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov edx, dword [esi]
push 2
push edx
mov word [esi + 8], bx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov eax, dword [esi]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
mov dword [esi], 0xffffffff
pop esi
mov al, 0xfb
pop ebx
mov ecx, dword [esp + 0x1000]
xor ecx, esp
call fcn.004c6212
add esp, 0x1004
ret
mov eax, dword [esi]
cmp eax, ebx
je 0x466f57
push 2
push eax
call dword [sym.imp.WSOCK32.dll_shutdown]
mov ecx, dword [esi]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov dword [esi], 0xffffffff
mov byte [esi + 9], bl
mov byte [esi + 0x1170], bl
lea edx, [esp + 8]
push edx
call dword [sym.imp.MSVCR100.dll_atoi]
mov ecx, dword [esp + 0x100c]
add esp, 4
mov dword [esi + 0x124], eax
pop esi
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x1004
ret

Function at 0x4675f0
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x14
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
xor ebx, ebx
push esi
mov esi, ecx
push 0xf8
lea eax, [esi + 0x2c]
push ebx
push eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov byte [esi + 9], bl
mov byte [esi + 0x1156], bl
mov dword [esi + 0x1158], ebx
mov word [esi + 0x1170], bx
mov byte [esi + 0x12c], bl
mov dword [esi + 0x20], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x124], 0x32
call sub.MSVCR100.dll_memset
add esp, 0xc
mov ecx, esi
call fcn.00466fa0
test al, al
jne 0x467663
mov ecx, esi
mov dword [esi + 0x128], 1
call fcn.00467170
lea ecx, [esp + 8]
push ecx
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], 0xbb8
call fcn.0044a8a0
add esp, 4
call fcn.0044a940
movzx ecx, ax
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov edx, 2
mov dword [esi + 0x18], eax
push ecx
mov word [esi + 0xc], dx
call dword [sym.imp.WSOCK32.dll_htons]
mov word [esi + 0xe], ax
lea eax, [esp + 8]
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x10], eax
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x14
ret
Function at 0x467780
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x100c
call fcn.004c6360
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x1008], eax
push ebx
push esi
push 0x1000
lea eax, [esp + 0x14]
push 0
push eax
mov ebx, ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov ecx, ebx
call fcn.00466a30
mov esi, eax
mov dword [esp + 8], esi
test esi, esi
jne 0x4677d6
push str.Error_no_se_puede_mandar_mensaje_sin_tener_private_key__comprobar_ficheros
push eax
call fcn.0042a000
add esp, 8
mov al, 0xcd
jmp 0x4678a7
cmp byte [ebx + 9], 0
jne 0x4677e3
mov ecx, ebx
call fcn.00466c00
cmp byte [esp + 0x1018], 0
jne 0x46791a
push ebp
call fcn.00472980
mov ebp, eax
call fcn.00473140
push eax
push ebp
call fcn.00472ca0
lea eax, [ebx + 0x2c]
push 0x78
push eax
push ebp
call fcn.00472b60
push esi
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
mov dword [esp + 0x34], 0x1000
call fcn.00472f20
add esp, 0x24
cmp eax, 1
je 0x467846
push eax
push str.Error_firmando_mensaje_de_error___d
push 0
call fcn.0042a000
add esp, 0xc
mov al, 0xcd
jmp 0x4678a6
mov eax, dword [esp + 0xc]
push edi
lea edi, [ebx + 0xa4]
mov ecx, 0x20
lea esi, [esp + 0x18]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004728e0
push ebp
call fcn.00472bf0
mov ecx, dword [ebx]
mov edi, dword [sym.imp.WSOCK32.dll_setsockopt]
add esp, 8
push 8
lea esi, [ebx + 0x130]
push esi
push 0x1005
push 0xffff
push ecx
call edi
test eax, eax
jns 0x4678c0
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x4f8f44
push 0
call fcn.0042a000
add esp, 0xc
mov al, 0xfa
pop edi
pop ebp
mov ecx, dword [esp + 0x1010]
pop esi
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x100c
ret 4
mov edx, dword [ebx]
push 0
push 0xf8
lea eax, [ebx + 0x2c]
push eax
push edx
call dword [sym.imp.WSOCK32.dll_send]
mov eax, dword [ebx]
push 8
push esi
push 0x1006
push 0xffff
push eax
mov byte [ebx + 0x1170], 1
call edi
test eax, eax
jns 0x4678ff
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error_de_seteo_de_Timeout_::__d_::
jmp 0x467899
cmp dword [ebx + 0x124], 0x32
jne 0x467912
mov dword [ebx + 0x124], 0
mov al, byte [ebx + 0x124]
jmp 0x4678a5
mov al, 0xfb
jmp 0x4678a7
Function at 0x469460
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, esi
or eax, 1
mov ecx, eax
mov edx, eax
push edi
mov dword [0x54d920], ecx
mov dword [0x54d924], edx
mov edi, 0x5c0d48
mov ebx, eax
imul esi, esi, 0x10dcd
shl ebx, 0x11
xor eax, ebx
movzx ecx, cx
imul ecx, ecx, 0x9069
mov ebx, eax
shr ebx, 0xd
xor eax, ebx
movzx ebx, word [0x54d922]
movzx edx, dx
add ecx, ebx
imul edx, edx, 0x4650
movzx ebx, word [0x54d926]
add edx, ebx
mov ebx, eax
shl ebx, 5
xor eax, ebx
mov ebx, ecx
shl ebx, 0x10
add ebx, edx
add esi, 0x12d687
xor ebx, esi
add ebx, eax
mov dword [edi], ebx
add edi, 4
mov dword [0x54d920], ecx
mov dword [0x54d924], edx
cmp edi, 0x5c1148
jl 0x469481
pop edi
mov dword [0x54d92c], esi
pop esi
mov dword [0x54d928], eax
pop ebx
ret

Function at 0x469500
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [0x54d920]
mov ecx, dword [0x54d928]
push ebx
mov ebx, dword [esp + 8]
push esi
mov esi, dword [0x54d924]
push edi
mov edi, dword [0x54d92c]
nop
mov eax, ecx
imul edi, edi, 0x10dcd
shl eax, 0x11
xor ecx, eax
movzx edx, dx
imul edx, edx, 0x9069
mov eax, ecx
shr eax, 0xd
xor ecx, eax
movzx eax, word [0x54d922]
movzx esi, si
add edx, eax
imul esi, esi, 0x4650
movzx eax, word [0x54d926]
add esi, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
mov eax, edx
shl eax, 0x10
add eax, esi
add edi, 0x12d687
xor eax, edi
add eax, ecx
mov dword [0x54d920], edx
mov dword [0x54d924], esi
cmp eax, ebx
jae 0x469520
mov dword [0x54d92c], edi
pop edi
pop esi
mov dword [0x54d928], ecx
pop ebx
ret
Function at 0x4697b0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x2014
call fcn.004c6360
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x2010], eax
push ebx
push esi
push edi
push 0x1004
lea eax, [esp + 0x10]
push 0
push eax
mov esi, ecx
call sub.MSVCR100.dll_memset
lea ecx, [esp + 0x101c]
push ecx
call fcn.0044a900
lea edx, [esp + 0x1020]
push edx
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 0x14
push 0x1000
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00466960
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
push 0x1000
lea ecx, [esp + 0x102c]
push 0
push ecx
call sub.MSVCR100.dll_memset
add esp, 0x18
cmp byte [esi + 9], 0
jne 0x466cec
mov ecx, esi
call fcn.00466c00
mov edx, dword [esi]
mov ebx, dword [sym.imp.WSOCK32.dll_setsockopt]
push 8
lea edi, [esi + 0x130]
push edi
push 0x1005
push 0xffff
push edx
call ebx
test eax, eax
jns 0x466d48
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x4f8e34
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xfffffffa
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov ecx, dword [esi]
push 0
push 0x1004
lea eax, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_send]
mov edx, dword [esi]
push 8
push edi
push 0x1006
push 0xffff
push edx
call ebx
test eax, eax
jns 0x466dad
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x4f8e58
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xfffffffa
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov ecx, dword [esi]
push 0
push 0x1000
lea eax, [esp + 0x1024]
push eax
push ecx
call dword [sym.imp.WSOCK32.dll_recv]
test eax, eax
jns 0x466e03
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.Error_conectando_con_PICMATIC__d
push 0
call fcn.0042a000
add esp, 0xc
pop edi
mov dword [esi + 0x124], 0xffffffce
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x2010]
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
mov edx, dword [esi]
push 2
push edx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov eax, dword [esi]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
cmp byte [esp + 0x101c], 0x31
mov ecx, dword [esp + 0x201c]
pop edi
mov dword [esi], 0xffffffff
mov byte [esi + 9], 0
pop esi
sete al
pop ebx
xor ecx, esp
call fcn.004c6212
add esp, 0x2014
ret
push esi
mov esi, ecx
call fcn.0044a890
movsx eax, al
dec eax
je 0x4697c2
dec eax
je 0x4697c6
dec eax
xor al, al
pop esi
ret
lea ecx, [esi + 0xf054]
pop esi
jmp 0x466c60
Function at 0x46c580
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4ccc4b
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x54e864]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
xor edi, edi
push 0xc
mov dword [esi + 4], edi
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x46c64e
mov dword [esi], eax
mov dword [eax], eax
mov eax, dword [esi]
mov dword [eax + 4], eax
push 0xc
mov dword [esp + 0x3c], edi
mov dword [esi + 0x10], edi
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x46c624
mov dword [esi + 0xc], eax
mov dword [eax], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], eax
lea eax, [esi + 0x24]
push eax
mov byte [esp + 0x3c], 1
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, esi
mov dword [esi + 0x3c], eax
call fcn.0046b940
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x30
ret
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x10], edi
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x51e22c
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x20], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], edi
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x51e22c
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x2c], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3