joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404924
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [0x465aec], esi
mov dword [0x465768], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0x80000000
test eax, eax
mov dword [0x465794], eax
jne 0x4049d7
mov ebx, eax
mov eax, dword [0x42a068]
mov dword [eax], 0xff
push edx
push edx
push eax
add eax, 4
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov eax, dword [0x42a068]
pop ecx
pop edx
cmp byte [eax], 0
je 0x4049a3
add eax, 4
push ecx
push ecx
push str.SYSTEM
push eax
call fcn.004034d9
add esp, 0x10
test eax, eax
jne 0x4049a3
push edx
push edx
push str._service
push esi
call fcn.004034d9
add esp, 0x10
test eax, eax
je 0x4049d7
sub esp, 0xc
mov dword [0x42a484], 1
push 0x42a020
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
add esp, 0xc
test eax, eax
jne 0x4049f3
push eax
push eax
push dword [0x4310d8]
push 0x45c2c0
call fcn.0040418c
add esp, 0x10
sub esp, 0xc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0
mov dword [0x465584], eax
call fcn.0040462a
add esp, 0x10
mov ebx, eax
lea esp, [ebp - 8]
mov eax, ebx
pop ebx
pop esi
pop ebp
ret 0x10
Function at 0x4077d6
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea edi, [ebp - 0x818]
sub esp, 0xc14
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
push edi
push ebx
call fcn.0040117d
add esp, 0x10
test eax, eax
jle 0x407830
lea ebx, [ebp - 0xc18]
push eax
push eax
push ebx
push dword [ebp + 0x10]
call fcn.0040117d
pop eax
pop edx
push esi
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push 0x20
push 1
push 0x42a458
push 0x42a458
push edi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
jmp 0x407853
push edi
push edi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x20
push 1
push 0x42a458
push 0x42a458
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
pop edx
pop ecx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x40a5c0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x108], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x10c]
push 0
push 0
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
add esp, 0xc
leave
ret

Function at 0x40a638
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea eax, [ebp + 8]
lea edi, [ebp - 0x11c]
sub esp, 0x128
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
push eax
mov dword [ebp - 0x11c], 2
push 0
push 0
mov dword [ebp - 0x118], ebx
push edi
push 0
call dword [sym.imp.WS2_32.dll_select]
xor edx, edx
add esp, 0xc
test eax, eax
je 0x40a692
dec eax
jle 0x40a681
mov edx, esi
jmp 0x40a692
push eax
push eax
push edi
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
pop edx
pop ecx
jne 0x40a67d
mov edx, ebx
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
test esi, esi
jle 0x40a8d1
push 0
push esi
push ebx
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x40a8d6
sub esi, eax
add ebx, eax
jmp 0x40a8b6
mov eax, ebx
sub eax, dword [ebp + 0xc]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
Function at 0x40b328
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
xor edi, edi
sub esp, 0xa4
mov dword [ebp - 0x90], ecx
push dword [0x42b064]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_wsprintfA]
inc dword [0x465b6c]
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x8c], 0
cmp edi, dword [0x4657a8]
jge 0x40b4ad
mov eax, dword [0x46557c]
mov ebx, dword [eax + edi*4]
cmp ebx, 1
jbe 0x40b4a7
lea eax, [ebx + 0x54]
push ecx
push ecx
mov dword [ebp - 0x80], 0x1c
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0040388f
lea eax, [ebp - 0x80]
add esp, 0xc
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebx]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
pop edx
jne 0x40b4a7
movzx eax, word [ebp - 0x72]
xchg al, ah
cmp dword [0x465db8], 0
mov word [ebp - 0x72], ax
mov byte [ebp - 0x7c], 0
je 0x40b3f4
mov eax, dword [ebx + 0x58]
xchg al, ah
rol eax, 0x10
xchg al, ah
sub esp, 0xc
push eax
call fcn.0041290b
add esp, 0x10
test eax, eax
je 0x40b3f4
push edx
push eax
lea eax, [ebp - 0x7c]
push 0x43a4dc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
test byte [0x46579a], 0x20
mov edx, 0x43a4ce
mov eax, 0x43a4d5
cmovne eax, edx
mov edx, dword [ebx + 0x44]
sub ebx, 0xffffff80
mov dword [ebp - 0x94], eax
mov eax, dword [ebx - 0x40]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx - 0x10]
mov edx, dword [ebp - 0x9c]
sub esp, 0xc
push dword [ebp - 0x94]
inc dword [ebp - 0x8c]
sub eax, ecx
push ecx
push edi
push ebx
push edx
push dword [ebp - 0x98]
push eax
movzx eax, word [ebp - 0x72]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp + 8]
push dword [ebp - 0x8c]
push str._tr_valigncenter__td__font_size2_classf2__u___b__s_s__td__td_aligncenter__font_size2_classf2__b__u__b___font___td__td_alignleft__font_size2_classf2__d__font___td__td_alignleft__font_size2_classf2__u____u__font___td__td_alignleft__font_size2_classf2__s..__font___td__td_alignleft_bgcolorff8040__font_size2_classf2__form_methodGET_action___admin__break__input_typehidden_namen_value_u__input_typehidden_namet_value_u__input_type_s_valueBreak___form___font___td___tr_
add eax, esi
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esi, eax
add esp, 0x40
cmp esi, 0x4000
jle 0x40b4a7
mov ecx, dword [ebp - 0x90]
push eax
push eax
push esi
push dword [ebp + 8]
call fcn.00429114
test eax, eax
pop edx
pop ecx
jg 0x40b4a5
mov dword [0x465b6c], 0
or eax, 0xffffffff
jmp 0x40b4e5
xor esi, esi
inc edi
jmp 0x40b360
push eax
push eax
mov eax, dword [ebp + 8]
push 0x43a6d4
dec dword [0x465b6c]
add eax, esi
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
pop edx
pop ecx
add eax, esi
mov ecx, dword [ebp - 0x90]
push eax
push dword [ebp + 8]
call fcn.00429114
test eax, eax
pop ebx
pop esi
setle al
movzx eax, al
neg eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
Function at 0x40ce8c
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
xor ebx, ebx
sub esp, 0x10
mov dword [0x42a4a0], 0
mov eax, dword [ebx + 0x465480]
test eax, eax
jle 0x40ceb6
sub esp, 0xc
push eax
call fcn.0040aa80
add esp, 0x10
add ebx, 4
cmp ebx, 0xf8
jne 0x40cea0
sub esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebx
add esp, 0xc
cmp dword [0x472c8c], 0
je 0x40cedf
call fcn.0042325b
call fcn.004042e4
push eax
push eax
lea eax, [ebp - 0x18]
mov dword [0x466040], 0x44
mov dword [0x46606c], 0x81
mov esi, pe_nt_image_headers32
push eax
mov word [0x466070], 1
push 0x466040
push 0
push 0
push 0x20
push 1
push 0x42a458
push 0x42a458
push dword [ebp + 8]
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
push edx
push 0x200
call ebx
add esp, 0xc
sub esp, 0xc
push 0x100
call ebx
add esp, 0xc
dec esi
je 0x40cf54
mov eax, dword [ebp + 0xc]
cmp dword [0x4659c8], eax
jg 0x40cf39
call fcn.0040434d
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
Function at 0x40d3dd
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0xc
push 0x465c24
call fcn.00403666
call fcn.0040d34f
add esp, 0x10
test eax, eax
mov ebx, eax
js 0x40d42d
mov eax, dword [0x465578]
lea esi, [eax + ebx*4]
push eax
push eax
mov eax, dword [ebp + 8]
push 0x465300
push 0
or eax, ebx
push eax
push 0x40aaa3
push 0x5000
push 0x42a458
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi], eax
pop edx
pop ecx
mov dword [0x465c24], 0
lea esp, [ebp - 8]
mov eax, ebx
pop ebx
pop esi
pop ebp
ret
Function at 0x40d511
Capabilities:
Create tcp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, 0xa
sub esp, 0x7c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x7c], 0
cdq
idiv esi
lea esi, [ebp - 0x74]
mov ebx, dword [edx*4 + 0x4659a0]
mov dword [ebp - 0x80], edx
mov edi, esi
mov ecx, 0x1c
xor eax, eax
test edi, edi
je 0x40d54b
jecxz 0x40d54b
cld
rep stosb byte es:[edi], al
test ebx, ebx
je 0x40d55d
push eax
push eax
push esi
push ebx
call fcn.0040d440
add esp, 0x10
mov ebx, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax*4 + 0x42a688]
mov dword [ebp - 0x84], eax
xchg al, ah
test ebx, ebx
mov word [ebp - 0x72], ax
je 0x40d581
cmp word [ebp - 0x74], 0x17
sete al
jmp 0x40d588
cmp dword [ebp + 8], 7
setg al
test al, al
je 0x40d602
push eax
push 6
push 1
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
test edi, edi
pop eax
jns 0x40d5ee
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [eax*4 + 0x42a688]
mov dword [ebp - 0x88], ecx
call edi
sub esp, 0xc
push eax
call fcn.0040376b
mov dword [ebp - 0x84], eax
call edi
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov dword [esp], ecx
push edx
push eax
push str.IPv6_socket_error__d__s__port__u_
push 0x45c2c0
call fcn.0040418c
add esp, 0x20
jmp 0x40d602
xor eax, eax
cmp dword [ebp + 8], 8
mov word [ebp - 0x74], 0x17
setge al
add dword [ebp - 0x7c], eax
jmp 0x40d636
push edi
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
pop eax
jne 0x40d630
sub esp, 0xc
push dword [0x431024]
call fcn.00403797
add esp, 0x10
or eax, 0xffffffff
jmp 0x40d73b
mov word [ebp - 0x74], 2
sub esp, 0xc
push 4
push 0x42a4a4
push 4
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov eax, dword [sym.imp.WS2_32.dll_bind]
add esp, 0xc
mov dword [ebp - 0x84], eax
cmp word [ebp - 0x74], 2
mov edx, 0x1c
mov eax, 0x10
cmovne eax, edx
push edx
push eax
push esi
push edi
call dword [ebp - 0x84]
inc eax
pop ecx
jne 0x40d6cd
lea edx, [ebp - 0x58]
push eax
push eax
push esi
push edx
mov dword [ebp - 0x88], edx
call fcn.0040388f
movzx eax, word [ebp - 0x72]
xchg al, ah
mov edx, dword [ebp - 0x88]
push eax
push edx
push str.Could_not_bind_socket_to__s:_u
push 0x45c2c0
call fcn.0040418c
add esp, 0x20
cmp word [ebp - 0x74], 0x17
je 0x40d5a0
call fcn.0040d4d3
test eax, eax
jne 0x40d65c
sub esp, 0xc
push edi
call fcn.0040aa80
jmp 0x40d71d
cmp dword [0x465c2c], 1
jne 0x40d6fa
mov dword [0x465c2c], 2
movzx eax, word [ebp - 0x72]
xchg al, ah
push ecx
push eax
push str.Successfully_bind_to_:_u__second_time_
push 0x45c2c0
call fcn.0040418c
add esp, 0x10
push eax
push eax
push 3
push edi
call dword [sym.imp.WS2_32.dll_listen]
imul eax, dword [ebp - 0x7c], 0xa
push edx
add eax, dword [ebp - 0x80]
mov dword [eax*4 + 0x465480], edi
shl eax, 0x10
push eax
call fcn.0040d3dd
add esp, 0x10
test ebx, ebx
je 0x40d731
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], 4
jle 0x40d539
mov eax, dword [ebp - 0x80]
mov eax, dword [eax*4 + 0x42a464]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x40e202
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
cmp dword [0x465964], 0
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
je 0x40e221
test byte [0x46579d], 0x80
je 0x40e221
jmp fcn.0040e0f3
mov dword [esp + 8], edx
mov dword [esp + 4], eax
jmp fcn.0040deb4

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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xc
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
test edi, edi
jne 0x40e252
push edx
push esi
push ebx
push dword [ebp + 0x14]
call fcn.004035ff
pop ecx
jmp 0x40e273
push eax
push edi
push 0
push dword [ebp + 0x18]
call fcn.0040a5c0
add esp, 0x10
or edx, 0xffffffff
test eax, eax
jle 0x40e275
push 0
push esi
push ebx
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov edx, eax
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0xc
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
push esi
push dword [ebx]
push 0
push dword [ebx + 0x38]
call fcn.0040a638
add esp, 0x10
test eax, eax
jle 0x40e397
cmp esi, eax
jne 0x40e375
push 0
push 0x8000
push edi
push esi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x40e397
push edx
push edx
mov ecx, ebx
push eax
push edi
call fcn.00429114
pop ecx
pop edx
jmp 0x40e393
push ecx
push 0x8000
push edi
push ebx
call dword [ebx + 0x4c]
add esp, 0x10
test eax, eax
jle 0x40e397
push edx
push eax
push edi
push esi
call fcn.0040a8ab
add esp, 0x10
test eax, eax
jg 0x40e33b
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8

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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xc
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040deb4
add esp, 0x10
test eax, eax
mov ebx, eax
jle 0x40e699
push 0
push 0xa
push str.nINSTREAM_n
push eax
call dword [sym.imp.WS2_32.dll_send]
mov eax, ebx
mov ebx, dword [ebp - 4]
leave
ret
Function at 0x40e6dd
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x22c
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x21c], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x21c]
push 0
push 4
push eax
push ebx
call dword [sym.imp.WS2_32.dll_send]
push esi
push ebx
push 0x1e
push 0x1e
call fcn.0040a5c0
add esp, 0x10
test eax, eax
jle 0x40e7e4
lea esi, [ebp - 0x218]
push 0
push 0x1f4
push esi
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
mov dword [ebp - 0x21c], eax
je 0x40e7e4
mov byte [ebp + eax - 0x218], 0
call edi
sub eax, dword [ebp - 0x22c]
push esi
push eax
push str._r_nAV___ums_:_s
push dword [0x45c284]
call fcn.0040418c
pop edx
pop ecx
push str.FOUND
push esi
mov dword [ebp - 0x21c], 0
call fcn.004034d9
add esp, 0x10
test eax, eax
je 0x40e7e4
sub esp, 0xc
push dword [ebp + 0xc]
call fcn.00428f74
add esp, 0xc
mov dword [ebp - 0x21c], eax
add eax, 0xc
push eax
push 8
push dword [section..bss]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, dword [ebp + 0xc]
mov edx, eax
lea edi, [eax + 4]
test edi, edi
je 0x40e7cc
test esi, esi
je 0x40e7cc
cld
lodsb al, byte [esi]
stosb byte es:[edi], al
or al, al
jne 0x40e7c6
mov eax, dword [0x465c30]
mov dword [edx], eax
mov dword [0x465c30], edx
pop eax
mov dword [ebp - 0x21c], 1
sub esp, 0xc
push ebx
call fcn.0040aa80
mov eax, dword [ebp - 0x21c]
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x4103a0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea edi, [ebp - 0x20]
sub esp, 0x34
mov ebx, dword [ebp + 0xc]
push 0x20
push ebx
call fcn.0040ddbc
mov esi, eax
lea eax, [eax - 1]
add esp, 0x10
mov dword [ebp - 0x2c], eax
call fcn.00410329
mov edx, eax
mov eax, esi
movsx ecx, byte [ebx]
xor eax, edx
rol eax, cl
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [ebx + 1]
sub eax, edx
ror eax, cl
mov dword [ebp - 0x1c], eax
push eax
push 8
push 0
push edi
call fcn.00428ed0
add esp, 0x10
test eax, eax
jne 0x4103c2
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push str._8.8XZ_8.8X
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
add eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret

Function at 0x4104f2
Capabilities:
Create directory

Disassembly:
push ebp
lea eax, [ecx + 5]
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x12c
push 0x100
push 0
push eax
call fcn.00428ed0
inc eax
mov ecx, ebx
push eax
call fcn.0041028c
sub esp, 0xc
mov edi, eax
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x42a458
push eax
call esi
add esp, 0x18
test byte [ebx + 4], 1
je 0x410321
lea ebx, [ebp - 0x130]
push eax
push edi
push str._.255smbox
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
pop edx
pop ecx
push 0x42a458
push ebx
call esi
pop ebx
pop esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [ecx + 4], 0xd
je 0x4104fd
jmp 0x4102be
ret

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

Disassembly:
push ebp
lea eax, [ecx + 0x80]
mov ebp, esp
push edi
push esi
push ebx
mov esi, ecx
sub esp, 0x220
push dword [ecx + 0x18]
push 0x43b211
push eax
mov eax, dword [sym.imp.USER32.dll_wsprintfA]
mov dword [ebp - 0x21c], eax
call eax
movzx eax, word [esi + 0xe]
pop edx
pop ecx
and eax, 7
movzx eax, byte [eax + 0x42b9cc]
push eax
push dword [esi + 0x18]
call fcn.0040e202
add esp, 0x10
test eax, eax
mov edi, eax
js 0x4106c2
lea ebx, [ebp - 0x218]
push eax
push 0
push ebx
push edi
call fcn.00417d44
add esp, 0xc
mov eax, dword [ebp - 0x21c]
push dword [esi + 0x14]
push str.USER__.64s_r_n
push ebx
call eax
mov edx, dword [sym.imp.WS2_32.dll_send]
push 0
push eax
push ebx
push edi
mov dword [ebp - 0x220], edx
call edx
add esp, 0xc
push 0
push ebx
push edi
call fcn.00417d44
add esp, 0xc
mov eax, dword [ebp - 0x21c]
push dword [esi + 0x1c]
push str.PASS__.64s_r_n
push ebx
call eax
push 0
mov edx, dword [ebp - 0x220]
push eax
push ebx
push edi
call edx
mov eax, dword [ebp + 8]
push dword [esi + 0x18]
add eax, 5
push eax
push str.X_PROXY:_login_in__.64s__to__.64s__r_n
push ebx
mov eax, dword [ebp - 0x21c]
call eax
add esp, 0x20
push str.__r_n_.4000s
push dword [esi]
push ebx
push 0x45c2c0
call fcn.00403e78
add esp, 0x10
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret 4
Function at 0x410c96
Capabilities:
Encode data using base64

Disassembly:
push ebp
push edi
xor edx, edx
push esi
push ebx
push ecx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
shl eax, 3
cmp edx, eax
jge 0x410d0c
mov ebp, edx
xor edi, edi
xor ebx, ebx
not ebp
add ebx, ebx
lea ecx, [edi + edx]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c]
shr ecx, 3
movzx ebx, byte [ebx + ecx]
mov ecx, ebp
sub ecx, edi
inc edi
and ecx, 7
sar ebx, cl
and ebx, 1
or ebx, dword [esp]
cmp edi, 6
jne 0x410cb4
add edx, 6
cmp ebx, 0x3f
mov ecx, 0x2f
je 0x410d07
cmp ebx, 0x3e
mov ecx, 0x2b
je 0x410d07
cmp ebx, 0x33
lea ecx, [ebx - 4]
jg 0x410d07
lea edi, [ebx + 0x47]
lea ecx, [ebx + 0x41]
cmp ebx, 0x1a
cmovge ecx, edi
mov byte [esi], cl
inc esi
jmp 0x410ca8
mov ecx, 6
cdq
idiv ecx
xor eax, eax
cmp edx, eax
je 0x410d21
mov byte [esi + eax], 0x3d
inc eax
jmp 0x410d16
lea eax, [esi + edx]
mov byte [eax], 0
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x411327
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x24
push 0
push dword [ebp + 8]
call fcn.00403579
test eax, eax
pop edx
pop ecx
jle 0x4114a8
mov ebx, eax
push eax
push eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
push eax
lea eax, [edi + 8]
push eax
call fcn.00428e70
add esp, 0x10
mov edx, eax
lea eax, [eax + edi]
cmp eax, dword [0x465af0]
jbe 0x411372
mov dword [0x465af0], eax
lea esi, [edx + 1]
mov byte [edx], 0x20
push eax
push edi
mov dword [ebp - 0x1c], edx
push esi
push ebx
call fcn.004035ff
mov edx, dword [ebp - 0x1c]
mov byte [edx + edi + 1], 0
push eax
xor edi, edi
push eax
push ebx
mov ebx, esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
add esp, 0xc
movsx edx, byte [eax]
cmp dl, 0xd
je 0x41141c
jg 0x4113c3
test dl, dl
je 0x411450
js 0x411444
sub edx, 9
cmp dl, 1
jbe 0x41141c
jmp 0x411444
cmp dl, 0x22
je 0x411408
jg 0x4113d1
cmp dl, 0x20
je 0x411425
jmp 0x411444
cmp dl, 0x23
je 0x4113dd
cmp dl, 0x60
je 0x411408
jmp 0x411444
cmp eax, esi
je 0x4113ee
mov dl, byte [eax - 1]
test dl, 0xdf
je 0x4113ee
cmp dl, 0xa
jne 0x411444
mov byte [ebx], 0x20
push ecx
inc ebx
push ecx
push 0xa
push eax
call fcn.004033da
add esp, 0x10
test eax, eax
jne 0x41144a
jmp 0x4114c0
test edi, edi
jne 0x411410
mov edi, edx
jmp 0x411444
cmp edi, edx
mov edx, 0
cmove edi, edx
jmp 0x411444
test edi, edi
jne 0x411444
mov byte [eax], 0x20
jmp 0x411429
test edi, edi
jne 0x411444
mov cl, byte [eax + 1]
lea edx, [ecx - 0x3b]
and dl, 0xfd
je 0x41144a
cmp cl, 0x20
je 0x41144a
mov cl, byte [ebx - 1]
lea edx, [ecx - 0x3b]
and dl, 0xfd
je 0x41144a
mov dl, byte [eax]
inc ebx
mov byte [ebx - 1], dl
inc eax
jmp 0x41139e
sub esp, 0xc
mov byte [ebx], 0
mov ebx, dword [0x465ca0]
push esi
call fcn.004114cf
add esp, 0x10
cmp dword [0x4652dc], 0
mov dword [0x465ca0], ebx
jne 0x4114a4
sub esp, 0xc
push dword [ebp + 8]
call fcn.00428f74
add eax, 2
mov dword [esp], eax
call fcn.00428e70
add esp, 0x10
test eax, eax
mov dword [0x4652dc], eax
je 0x4114a4
push edx
push edx
push dword [ebp + 8]
push eax
call fcn.00428f54
add esp, 0x10
xor eax, eax
jmp 0x4114c7
push 0x10
push dword [ebp + 8]
push dword [0x42f4b0]
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
or eax, 0xffffffff
jmp 0x4114c7
mov al, byte [pe_dos_header]
ud2
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x412a57
Capabilities:
Get file size

Disassembly:
cmp dword [0x465db0], 0
mov eax, 1
jne 0x412b96
mov eax, dword [str.ipbase.bin]
test eax, eax
je 0x412b97
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14
push 0
push eax
call fcn.00403579
test eax, eax
mov esi, eax
pop ebx
pop edi
jns 0x412ab1
mov eax, dword [str.ipbase.bin]
cmp eax, str.ipbase.bin
je 0x412aff
push ecx
push eax
push str.Cant_open__s
push 0x45c2c0
call fcn.0040418c
add esp, 0x10
jmp 0x412aff
push eax
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, 0xff
pop eax
pop edx
jle 0x412add
lea eax, [edi + 0x10]
sub esp, 0xc
push eax
call fcn.00428e70
add esp, 0x10
test eax, eax
mov ebx, eax
jne 0x412b06
push edi
push dword [0x4332f8]
push str.Error_loading__s
push 0x45c2c0
call fcn.0040418c
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
xor eax, eax
jmp 0x412b8f
push ecx
push edi
push eax
push esi
call fcn.004035ff
cmp edi, eax
pop edx
jg 0x412b79
mov eax, dword [ebx]
cmp eax, 0x4d6559
jne 0x412b25
mov dword [0x465db0], ebx
jmp 0x412b49
cmp eax, 0x4d6558
jne 0x412b79
mov eax, dword [ebx + 4]
sub esp, 0xc
add eax, 0x2008
push eax
call fcn.00428e70
add esp, 0x10
test eax, eax
mov dword [0x465db0], eax
je 0x412b79
sub esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [0x465db0]
call fcn.004129c2
pop ecx
pop ebx
push str.IP___country_base_loaded
push 0x45c2c0
call fcn.0040418c
add esp, 0x10
mov eax, 1
jmp 0x412b8f
push eax
push ebx
push 0
push dword [section..bss]
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edx
jmp 0x412add
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
ret