joyce8/EMBER2024-capa huggingface dataset:
Function at 0x11c12e50
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x11ca6ad0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
xor eax, eax
push ebp
mov dword [esp + 0xc], eax
push esi
mov dword [esp + 0x14], eax
push edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
or eax, 0xffffffff
push 0x3a
mov ebp, ecx
push edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
call fcn.11c5483c
mov esi, eax
add esp, 8
test esi, esi
jne 0x11c12eb8
lea ecx, [esp + 0x10]
push ecx
push edi
mov ecx, ebp
call fcn.11c12fe0
or ebp, 0xffffffff
jmp 0x11c12f55
mov eax, esi
lea ecx, [esp + 0xc]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.11c43a70
add esi, 2
lea ecx, [esp + 0x30]
push esi
mov dword [esp + 0x2c], 0
call fcn.11c436c0
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 1
call fcn.11c47b90
lea ecx, [esp + 0xc]
call fcn.11c47870
mov eax, dword [esp + 0xc]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x11c12f0d
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push eax
call fcn.11c12fe0
lea ecx, [esp + 0x30]
call fcn.11c47b90
lea ecx, [esp + 0x30]
call fcn.11c47870
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x11c12f37
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, ebp
call fcn.11c13130
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], 0
call fcn.11c43e60
or ebp, 0xffffffff
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], ebp
call fcn.11c43e60
cmp dword [esp + 0x10], ebp
jne 0x11c12f61
cmp dword [esp + 0x14], ebp
je 0x11c12fca
mov edi, dword [esp + 0x34]
push ebp
mov ecx, edi
mov esi, dword [edi + 4]
lea edx, [esi + 1]
push edx
call fcn.11c13420
mov ecx, dword [edi]
mov eax, esi
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [0x11cd69b8]
test eax, eax
je 0x11c12fca
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
push esi
push 0x11cbb754
push str.IPG_16656
push 4
call fcn.11c154f0
add esp, 0x20
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x20
ret 8
Function at 0x11c14970
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov ecx, dword [0x11cd0900]
sub esp, 0x14
xor eax, eax
push ebx
push ebp
push esi
cmp ecx, eax
push edi
jbe 0x11c14a3c
mov word [esp + 0x14], ax
mov dword [esp + 0x16], eax
mov dword [esp + 0x1a], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x1e], eax
lea edx, [esp + 0x14]
mov word [esp + 0x22], ax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
mov dword [esp + 0x1c], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
mov edi, dword [esp + 0x2c]
mov ebx, dword [sym.imp.WS2_32.dll_ntohl]
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
cmp eax, 0xffffffff
je 0x11c149f0
mov ecx, dword [esp + 0x18]
push ecx
call ebx
mov edx, dword [esp + 0x16]
mov esi, eax
push edx
call ebp
push edi
push esi
push eax
mov ecx, 0x11cd08f8
call fcn.11c148e0
test eax, eax
jne 0x11c14a2b
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_getpeername]
cmp eax, 0xffffffff
je 0x11c14a3a
mov eax, dword [esp + 0x18]
push eax
call ebx
mov ecx, dword [esp + 0x16]
mov esi, eax
push ecx
call ebp
push edi
push esi
push eax
mov ecx, 0x11cd08f8
call fcn.11c148e0
test eax, eax
je 0x11c14a3a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
Function at 0x11c18a10
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x11ca6f18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 1
lea eax, [esi + 0x1c]
lea ecx, [esp + 0x14]
push eax
call fcn.11c50950
mov edi, dword [esp + 0x2c]
mov ebp, dword [esi + 8]
mov eax, edi
xor edx, edx
shr eax, 4
div ebp
mov ecx, dword [esi + 4]
mov dword [esp + 0x24], 0
test ecx, ecx
mov ebx, edx
je 0x11c18a7e
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x11c18a7a
cmp dword [eax + 8], edi
je 0x11c18a72
mov eax, dword [eax]
test eax, eax
jne 0x11c18a65
jmp 0x11c18a7a
test eax, eax
jne 0x11c18b17
test ecx, ecx
jne 0x11c18aae
lea edi, [ebp*4]
push edi
call fcn.11c54150
mov edx, eax
mov ecx, edi
mov dword [esi + 4], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x2c]
mov dword [esi + 8], ebp
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x11c18ae2
mov eax, dword [esi + 0x18]
push 0x18
lea ecx, [esi + 0x14]
push eax
push ecx
call fcn.11c4faa0
mov ecx, dword [esi + 0x18]
lea edx, [ecx + ecx*2]
dec ecx
test ecx, ecx
lea eax, [eax + edx*8 - 0x10]
jl 0x11c18ae2
inc ecx
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov dword [esi + 0x10], eax
sub eax, 0x18
dec ecx
jne 0x11c18ad4
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0xc]
inc ecx
xor edx, edx
mov dword [esi + 0xc], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebx*4]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x30]
add eax, 0xc
mov dword [esp + 0x24], 0xffffffff
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x10]
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
call fcn.11c509b0
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 8
Function at 0x11c19100
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x11ca6f78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 1
lea eax, [esi + 0x18]
lea ecx, [esp + 0x14]
push eax
call fcn.11c50950
mov edi, dword [esp + 0x2c]
mov ebp, dword [esi + 4]
mov eax, edi
xor edx, edx
shr eax, 4
div ebp
mov ecx, dword [esi]
mov dword [esp + 0x24], 0
test ecx, ecx
mov ebx, edx
je 0x11c1916d
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x11c19169
cmp dword [eax + 8], edi
je 0x11c19161
mov eax, dword [eax]
test eax, eax
jne 0x11c19154
jmp 0x11c19169
test eax, eax
jne 0x11c1920c
test ecx, ecx
jne 0x11c1919c
lea edi, [ebp*4]
push edi
call fcn.11c54150
mov edx, eax
mov ecx, edi
mov dword [esi], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x2c]
mov dword [esi + 4], ebp
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x11c191d6
mov eax, dword [esi + 0x14]
push 0x1c
lea ecx, [esi + 0x10]
push eax
push ecx
call fcn.11c4faa0
mov ecx, dword [esi + 0x14]
lea edx, [ecx*8]
sub edx, ecx
dec ecx
test ecx, ecx
lea eax, [eax + edx*4 - 0x14]
jl 0x11c191d6
inc ecx
mov edx, dword [esi + 0xc]
mov dword [eax], edx
mov dword [esi + 0xc], eax
sub eax, 0x1c
dec ecx
jne 0x11c191c8
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 8]
inc ecx
xor edx, edx
mov dword [esi + 8], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + ebx*4]
mov dword [eax], edx
mov ecx, dword [esi]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x30]
add eax, 0xc
mov dword [esp + 0x24], 0xffffffff
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0x10]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
call fcn.11c509b0
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 8
Function at 0x11c225e0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x11ca7ce7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
lea esi, [ecx + 8]
push edi
mov dword [ecx], 0x11cae514
mov dword [esp + 8], esi
lea ecx, [esi + 0x60]
mov dword [esp + 0x18], 0xc
call fcn.11c3eae0
lea edi, [esi + 0x40]
mov dword [esp + 0xc], edi
lea ecx, [edi + 4]
mov byte [esp + 0x18], 0xd
call fcn.11c3eae0
mov ecx, edi
mov byte [esp + 0x18], 0xb
call fcn.11c3eae0
lea ecx, [esi + 0x3c]
mov byte [esp + 0x18], 0xa
call fcn.11c3eae0
lea ecx, [esi + 0x38]
mov byte [esp + 0x18], 9
call fcn.11c3eae0
lea ecx, [esi + 0x34]
mov byte [esp + 0x18], 8
call fcn.11c3eae0
lea ecx, [esi + 0x30]
mov byte [esp + 0x18], 7
call fcn.11c3eae0
lea ecx, [esi + 0x2c]
mov byte [esp + 0x18], 6
call fcn.11c3eae0
lea ecx, [esi + 0x28]
mov byte [esp + 0x18], 5
call fcn.11c3eae0
lea ecx, [esi + 0x24]
mov byte [esp + 0x18], 4
call fcn.11c3eae0
lea ecx, [esi + 0x20]
mov byte [esp + 0x18], 3
call fcn.11c3eae0
lea ecx, [esi + 0x1c]
mov byte [esp + 0x18], 2
call fcn.11c3eae0
lea ecx, [esi + 0x18]
mov byte [esp + 0x18], 1
call fcn.11c3eae0
lea edi, [esi + 0xc]
mov dword [esp + 0xc], edi
lea ecx, [edi + 8]
mov byte [esp + 0x18], 0xe
call fcn.11c3eae0
mov ecx, edi
mov byte [esp + 0x18], 0
call fcn.11c3eae0
lea ecx, [esi + 8]
mov dword [esp + 0x18], 0xf
call fcn.11c3eae0
lea ecx, [esi + 4]
mov dword [esp + 0x18], 0xffffffff
call fcn.11c3eae0
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x11c241e0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x11ca7fc3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [0x11cae6f4]
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
lea edi, [esi + 4]
mov dword [edi], eax
mov dword [esi], 0x11cae518
mov eax, dword [0x11cae6f4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov byte [esp + 0x24], 4
test eax, eax
je 0x11c24252
call fcn.11c7b2e0
push eax
lea ecx, [esp + 0x18]
push str.__lu
push ecx
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x34]
test eax, eax
je 0x11c24273
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea edx, [esp + 0x14]
push str.__lu
push edx
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x11c24294
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x10]
push str.__lu
push eax
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x11c242b5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea ecx, [esp + 0xc]
push 0x11cbed38
push ecx
call fcn.11c46de0
add esp, 0xc
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x30]
push edx
call fcn.11c436c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push str._s_s_s_s_s
push edi
mov byte [esp + 0x40], 5
call fcn.11c46de0
add esp, 0x1c
lea ecx, [esp + 0x30]
mov byte [esp + 0x24], 4
call fcn.11c43e60
lea ecx, [esp + 8]
mov byte [esp + 0x24], 3
call fcn.11c43e60
lea ecx, [esp + 0xc]
mov byte [esp + 0x24], 2
call fcn.11c43e60
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 1
call fcn.11c43e60
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 0
call fcn.11c43e60
mov ecx, dword [esp + 0x1c]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x20
ret 0x14
Function at 0x11c2439d
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x11ca7ff8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov eax, dword [0x11cae6f4]
push esi
mov esi, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1c], 3
cmp eax, 0xffffffff
je 0x11c243d9
push eax
lea eax, [esp + 0x14]
push str.__lu
push eax
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x11c243f5
push eax
lea ecx, [esp + 0x10]
push str.__lu
push ecx
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x11c24411
push eax
lea edx, [esp + 0xc]
push str.__lu
push edx
call fcn.11c46de0
add esp, 0xc
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
je 0x11c2442d
push eax
lea eax, [esp + 8]
push 0x11cbed38
push eax
call fcn.11c46de0
add esp, 0xc
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x2c]
call fcn.11c436c0
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
add esi, 4
push str._s_s_s_s_s
push esi
mov byte [esp + 0x38], 4
call fcn.11c46de0
add esp, 0x1c
lea ecx, [esp + 0x28]
mov byte [esp + 0x1c], 3
call fcn.11c43e60
lea ecx, [esp + 4]
mov byte [esp + 0x1c], 2
call fcn.11c43e60
lea ecx, [esp + 8]
mov byte [esp + 0x1c], 1
call fcn.11c43e60
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 0
call fcn.11c43e60
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], 0xffffffff
call fcn.11c43e60
mov ecx, dword [esp + 0x14]
pop esi
mov dword fs:[0], ecx
add esp, 0x1c
ret 0x14

Function at 0x11c24560
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x11ca8057
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [0x11cae6f4]
push esi
mov esi, ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 0x18], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x18], 2
test eax, eax
je 0x11c245ac
push 0x11cbed7c
jmp 0x11c245b1
push 0x11cbed6c
lea ecx, [esp + 8]
call fcn.11c440e0
mov eax, dword [esi + 4]
mov ecx, dword [esp + 4]
push eax
push ecx
lea edx, [esp + 0x10]
push 0x11cbed60
push edx
call fcn.11c46de0
mov esi, dword [esp + 0x30]
add esp, 0x10
lea eax, [esp + 8]
mov ecx, esi
push eax
call fcn.11c43460
mov dword [esp + 0xc], 1
lea ecx, [esp + 4]
mov byte [esp + 0x18], 1
call fcn.11c43e60
lea ecx, [esp + 8]
mov byte [esp + 0x18], 0
call fcn.11c43e60
mov ecx, dword [esp + 0x10]
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x18
ret 8
Function at 0x11c2aaf0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push 0xffffffffffffffff
push 0x11ca8a68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebp
push esi
lea ecx, [esp + 0xc]
call fcn.11c3daf0
push str.127.0.0.1
mov dword [esp + 0x2c], 0
call dword [sym.imp.WS2_32.dll_inet_addr]
mov esi, eax
xor eax, eax
mov dword [esp + 0x12], eax
lea ecx, [esp + 8]
mov dword [esp + 0x16], eax
lea edx, [esp + 0x10]
mov dword [esp + 0x1a], eax
push ecx
mov word [esp + 0x22], ax
mov eax, dword [esp + 0x34]
push edx
push eax
mov word [esp + 0x1c], 0
mov dword [esp + 0x14], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
mov ebp, dword [sym.imp.WS2_32.dll_ntohl]
cmp eax, 0xffffffff
mov eax, dword [0x11cd69b8]
je 0x11c2aba8
test eax, eax
je 0x11c2ab94
mov ecx, dword [esp + 0x14]
push ecx
call ebp
push eax
push 0x12c
push str.TMAILHOOK32::getsockname_succeed__line__lu__ip_0x_x_
push 0x11cbb2e8
push 4
call fcn.11c154f0
add esp, 0x14
push 0
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
je 0x11c2abcc
mov esi, ecx
jmp 0x11c2abcc
test eax, eax
je 0x11c2abcc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x136
push str.TMAILHOOK32::getsockname_failed__line__lu__errno:__d
push 0x11cbb2e8
push 4
call fcn.11c154f0
add esp, 0x14
push edi
mov edi, dword [esp + 0x38]
test edi, edi
je 0x11c2abdc
call fcn.11c2a9d0
mov dword [edi], eax
mov eax, dword [0x11cd69b8]
pop edi
test eax, eax
je 0x11c2abfe
push esi
call ebp
push eax
push str.TMAILHOOK32::dwTMGWIP_0x_x_
push 0x11cbb2e8
push 4
call fcn.11c154f0
add esp, 0x10
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], 0xffffffff
call fcn.11c3db10
mov ecx, dword [esp + 0x20]
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x24
ret
Function at 0x11c37140
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
sub esp, 0x14
xor eax, eax
lea ecx, [esp]
mov dword [esp + 6], eax
push esi
mov dword [esp + 0xe], eax
lea edx, [esp + 8]
mov dword [esp + 0x12], eax
push ecx
mov word [esp + 0x1a], ax
mov eax, dword [esp + 0x20]
push edx
push eax
mov word [esp + 0x14], 0
mov dword [esp + 0x10], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x11c371b1
mov esi, dword [esp + 0xc]
push str.127.0.0.1
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, esi
je 0x11c371a7
push esi
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
call fcn.11c33170
add esp, 4
test eax, eax
je 0x11c371b1
mov eax, 1
pop esi
add esp, 0x14
ret
xor eax, eax
pop esi
add esp, 0x14
ret
Function at 0x11c3c350
Capabilities:
Get graphical window text

Disassembly:
call fcn.11c68230
test eax, eax
je 0x11c3c36f
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
ret
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
xor ebp, ebp
test edi, edi
je 0x11c3c3f0
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x11c3c3f0
lea ecx, [esi + esi]
xor eax, eax
mov edx, ecx
push esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
call fcn.11c54150
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x11c3c3f0
mov ecx, esi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push esi
and ecx, 3
push ebx
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ebp, eax
test ebp, ebp
je 0x11c3c3f0
push esi
mov esi, dword [esp + 0x1c]
push esi
push 0xffffffffffffffff
push ebx
xor ebp, ebp
call fcn.11c391b0
add esp, 0x10
test eax, eax
je 0x11c3c3f0
push esi
call fcn.11c548e0
add esp, 4
mov ebp, eax
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
ret

Function at 0x11c42530
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push esi
mov esi, eax
shr eax, 4
and esi, 0xf
inc eax
push edi
mov edi, dword [esp + 0xc]
and eax, 0xffff
push ecx
push eax
push 6
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceExW]
test eax, eax
je 0x11c4257e
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x11c4257e
xor edx, edx
xor ecx, ecx
mov cx, word [eax]
add eax, 2
cmp esi, edx
je 0x11c42583
inc edx
lea eax, [eax + ecx*2]
cmp edx, 0x10
jl 0x11c42569
pop edi
xor eax, eax
pop esi
ret
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test edi, edi
jne 0x11c42593
test esi, esi
jne 0x11c425b1
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x11c425af
mov byte [eax + esi - 1], 0
jne 0x11c425b8
mov byte [esi + edi - 1], 0
mov eax, edi
pop edi
dec eax
pop esi
ret
Function at 0x11c47ca0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push esi
push edi
mov esi, dword [esp + 0xc]
mov edi, eax
shr eax, 4
and edi, 0xf
inc eax
and eax, 0xffff
push ecx
push eax
push 6
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceExW]
test eax, eax
je 0x11c47cf0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
je 0x11c47cf0
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
add esi, 2
cmp edi, ecx
je 0x11c47cf5
inc ecx
lea esi, [esi + eax*2]
cmp ecx, 0x10
jl 0x11c47cdb
pop edi
xor eax, eax
pop esi
ret
mov edx, dword [esp + 0x1c]
lea ecx, [edx - 1]
cmp eax, ecx
jle 0x11c47d02
mov eax, ecx
lea edx, [eax + eax]
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, edx
push ebp
mov ebp, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
pop ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [edx + ebx], 0
pop ebx
pop edi
pop esi
ret

Function at 0x11c517a0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 8
mov eax, dword [ecx + 4]
push ebx
push ebp
push esi
push edi
mov edi, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x11c517e1
lea edx, [esp + 0x14]
or eax, 0x20019
push edx
push eax
push 0
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
mov eax, dword [esp + 0x14]
neg esi
sbb esi, esi
not esi
and esi, eax
jmp 0x11c517e3
mov esi, edi
test esi, esi
je 0x11c51858
mov ebx, dword [esp + 0x20]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x20]
push eax
push 0
push ecx
push 0
push ebx
push esi
call ebp
test eax, eax
jne 0x11c5184d
mov ecx, dword [esp + 0x20]
mov eax, 4
cmp ecx, eax
jne 0x11c5184d
cmp dword [esp + 0x1c], eax
jbe 0x11c5181e
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x1c]
lea eax, [esp + 0x10]
push edx
push eax
push 0
push 0
push ebx
push esi
call ebp
test eax, eax
jne 0x11c5184d
cmp esi, edi
je 0x11c5183f
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp esi, edi
je 0x11c51858
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc

Function at 0x11c51870
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, dword [ecx]
push edi
test esi, esi
mov dword [esp + 0xc], 0
je 0x11c518d5
mov edi, dword [esp + 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push 0
push ecx
push 0
push edi
push esi
call ebx
test eax, eax
jne 0x11c518d5
mov ecx, dword [esp + 0x10]
mov eax, 4
cmp ecx, eax
jne 0x11c518d5
cmp dword [esp + 0x18], eax
jbe 0x11c518bb
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0xc]
push edx
push eax
push 0
push 0
push edi
push esi
call ebx
test eax, eax
mov eax, dword [esp + 0xc]
je 0x11c518d9
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
add esp, 8
ret 8
Function at 0x11c519b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
push ebx
push esi
mov esi, dword [ecx]
push edi
test esi, esi
je 0x11c51a0f
mov edi, dword [esp + 0x14]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
push 0
push ecx
push 0
push edi
push esi
call ebx
test eax, eax
jne 0x11c51a0f
cmp dword [esp + 0xc], 3
jne 0x11c51a0f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp edx, eax
jb 0x11c51a0f
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push eax
push ecx
push 0
push 0
push edi
push esi
call ebx
test eax, eax
jne 0x11c51a0f
pop edi
pop esi
mov eax, 1
pop ebx
pop ecx
ret 0xc
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
ret 0xc

Function at 0x11c51af0
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [ecx]
test esi, esi
push edi
je 0x11c51b64
mov ebx, dword [esp + 0x18]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push 0
push ecx
push 0
push ebx
push esi
call ebp
test eax, eax
jne 0x11c51b64
cmp dword [esp + 0x10], 3
jne 0x11c51b64
mov edx, dword [esp + 0x18]
push edx
call fcn.11c54150
mov edi, eax
add esp, 4
test edi, edi
je 0x11c51b64
lea eax, [esp + 0x18]
push eax
push edi
push 0
push 0
push ebx
push esi
call ebp
test eax, eax
jne 0x11c51b5b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx], edx
pop ebx
pop ecx
ret 8
push edi
call fcn.11c5415e
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret 8