joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41447d
Capabilities:
Get graphical window text

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x474ea0]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0xc
mov eax, 0x45397d
call fcn.0043874e
mov ebx, ecx
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x4145f7
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4144c7
and dword [ebx + 0xf4], eax
jmp 0x4145f7
mov edi, 0x400
push edi
lea eax, [ebp + 0x400]
push eax
push dword [ebx + 0xf4]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp + 0x400]
push 0x5b
push eax
call fcn.00437820
test eax, eax
pop ecx
pop ecx
je 0x4145f7
lea ecx, [ebp + 0x400]
sub eax, ecx
mov dword [ebp - 0x18], eax
mov eax, ecx
push 0x5d
push eax
call fcn.00437820
test eax, eax
pop ecx
pop ecx
je 0x4145f7
lea ecx, [ebp + 0x400]
sub eax, ecx
mov esi, eax
mov eax, ecx
push 0x27
push eax
call fcn.00437820
test eax, eax
pop ecx
pop ecx
je 0x414561
lea ecx, [ebp + 0x400]
sub eax, ecx
mov dword [ebp - 0x10], eax
lea eax, [ebp + eax + 0x401]
push 0x27
push eax
call fcn.00437820
test eax, eax
pop ecx
pop ecx
je 0x414561
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp + 0x400]
sub eax, ecx
mov esi, eax
push edi
lea eax, [ebp]
push 0
push eax
call fcn.004376f0
mov eax, dword [ebp - 0x18]
lea eax, [ebp + eax + 0x400]
push eax
lea eax, [ebp]
push edi
push eax
call fcn.00438c30
sub esi, dword [ebp - 0x18]
add esp, 0x18
lea eax, [ebp + 0x400]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp + esi + 1], 0
call fcn.00409ff6
and dword [ebp - 4], 0
lea eax, [ebp - 0x10]
push 0x800d
push eax
call fcn.004199f0
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.00410b83
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00409012
push dword [ebp - 0x14]
push dword [ebx + 0xf4]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 1
push 0
push dword [ebx + 0xf4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00409012
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.004377fb
add ebp, 0x804
leave
ret
Function at 0x415875
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x415891
xor eax, eax
leave
ret
push esi
push dword [ebp + 0x14]
call fcn.00437770
pop ecx
push eax
push dword [ebp + 0x14]
push 1
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
push dword [ebp - 4]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
test esi, esi
sete al
pop esi
leave
ret

Function at 0x4158c2
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
mov edi, str.SoftwareNovisoftSecure_eBookTest
push edi
mov esi, reloc.WSOCK32.dll_accept
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jne 0x415905
push dword [ebp - 4]
call ebx
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x415905
xor eax, eax
jmp 0x415933
xor eax, eax
push eax
lea ecx, [ebp - 4]
push ecx
push eax
push 0xf003f
push eax
push eax
push eax
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x415901
push dword [ebp - 4]
call ebx
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
neg eax
sbb eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x415b91
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push 0x148
mov eax, 0x453afb
call fcn.004387b7
lea eax, [ebp - 0x14c]
push eax
push 0x20019
xor esi, esi
push esi
push str.SOFTWAREClassesMIMEDatabaseContent_Type_application_pdf
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x415d38
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x144]
push eax
push esi
push esi
push str.CLSID
push dword [ebp - 0x14c]
mov dword [ebp - 0x150], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x415d38
mov byte [ebp - 0x40], 0x1b
mov byte [ebp - 0x3f], 0xd5
mov byte [ebp - 0x3e], 0x4f
mov byte [ebp - 0x3d], 0xaa
mov byte [ebp - 0x3c], pe_nt_image_headers32
mov byte [ebp - 0x3b], 0x3d
mov byte [ebp - 0x3a], 0x1d
mov byte [ebp - 0x39], 0xcd
mov byte [ebp - 0x38], 0x8f
mov byte [ebp - 0x37], 0xf8
mov byte [ebp - 0x36], 0x16
mov byte [ebp - 0x35], 0x86
mov byte [ebp - 0x34], 0x1f
mov byte [ebp - 0x33], 0x6d
mov byte [ebp - 0x32], 0xe3
mov byte [ebp - 0x31], 0x98
mov byte [ebp - 0x30], 0x7b
mov byte [ebp - 0x2f], 0x32
mov byte [ebp - 0x2e], 0x40
mov byte [ebp - 0x2d], 0x75
mov byte [ebp - 0x2c], 0x80
mov byte [ebp - 0x2b], 0x8e
mov byte [ebp - 0x2a], 0x60
mov byte [ebp - 0x29], 0x1f
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x5c
mov byte [ebp - 0x26], 0x12
mov byte [ebp - 0x25], 0xb0
mov byte [ebp - 0x24], 0x5c
mov byte [ebp - 0x23], 0xb2
mov byte [ebp - 0x22], 0xf5
mov byte [ebp - 0x21], 0x7f
mov byte [ebp - 0x20], 0x95
mov byte [ebp - 0x1f], 0xd9
mov byte [ebp - 0x1e], 0x2c
mov byte [ebp - 0x1d], 0xa6
mov byte [ebp - 0x1c], 0xa2
mov byte [ebp - 0x1b], 2
mov byte [ebp - 0x1a], 0x34
mov byte [ebp - 0x19], 0x86
mov byte [ebp - 0x18], 0x25
mov byte [ebp - 0x17], 0x53
mov byte [ebp - 0x16], 0x39
mov byte [ebp - 0x15], 0x61
mov byte [ebp - 0x14], 0x73
mov byte [ebp - 0x13], 0xd0
mov byte [ebp - 0x12], 0x94
mov byte [ebp - 0x11], 0x11
call fcn.00423024
push eax
lea ecx, [ebp - 0x148]
call fcn.00421c70
lea eax, [ebp - 0x154]
push eax
push 0x80
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], esi
mov dword [ebp - 0x154], 0x80
call fcn.00409312
push eax
push 0x30
lea eax, [ebp - 0x40]
push eax
push str.56d23s4ed3
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x148]
call fcn.004091a3
mov edi, dword [ebp - 0x148]
lea eax, [ebp - 0x144]
push edi
push eax
call fcn.00437a7c
mov esi, eax
neg esi
pop ecx
sbb esi, esi
pop ecx
inc esi
lea ecx, [edi - 0x10]
call fcn.00409012
mov eax, esi
jmp 0x415d3a
xor eax, eax
call fcn.0043883a
ret
Function at 0x415e7b
Capabilities:
Get graphical window text

Disassembly:
push 0x38
mov eax, 0x453b63
call fcn.004387b7
mov esi, dword [ebp + 8]
mov dword [ebp - 0x44], esi
call fcn.00423024
push eax
lea ecx, [ebp - 0x34]
call fcn.00421c70
mov edi, dword [sym.imp.USER32.dll_GetWindow]
and dword [ebp - 4], 0
push 5
push esi
call edi
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x416020
mov esi, 0x400
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x3c]
call fcn.00415e54
pop ecx
pop ecx
call fcn.00423024
push eax
lea ecx, [ebp - 0x38]
call fcn.00421c70
lea eax, [ebp - 0x40]
push eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
mov byte [ebp - 0x20], 0xd9
mov byte [ebp - 0x1f], 6
mov byte [ebp - 0x1e], 0x84
mov byte [ebp - 0x1d], 0xd3
mov byte [ebp - 0x1c], 0x4d
mov byte [ebp - 0x1b], 0x1e
mov byte [ebp - 0x1a], 0x8d
mov byte [ebp - 0x19], 0x69
mov byte [ebp - 0x18], 0xb7
mov byte [ebp - 0x17], 0xbb
mov byte [ebp - 0x16], 0xfa
mov byte [ebp - 0x15], 0x91
mov byte [ebp - 0x14], 2
mov byte [ebp - 0x13], 0xed
mov byte [ebp - 0x12], 0xf7
mov byte [ebp - 0x11], 0x9a
mov dword [ebp - 0x40], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x20]
push eax
push str.h47g645xr3
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
call fcn.004091a3
mov ebx, dword [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x34]
call fcn.0040f8a3
test eax, eax
jne 0x416000
push esi
lea ecx, [ebp - 0x34]
call fcn.00409312
push esi
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
jle 0x416000
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.004091a3
lea eax, [ebp - 0x40]
push eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x30], 0x40
mov byte [ebp - 0x2f], 0xf9
mov byte [ebp - 0x2e], 0x1f
mov byte [ebp - 0x2d], 0xfb
mov byte [ebp - 0x2c], 0x40
mov byte [ebp - 0x2b], 0x98
mov byte [ebp - 0x2a], 0xd
mov byte [ebp - 0x29], 0x79
mov byte [ebp - 0x28], 0xc9
mov byte [ebp - 0x27], 0xfd
mov byte [ebp - 0x26], 0x35
mov byte [ebp - 0x25], 0x49
mov byte [ebp - 0x24], 0xda
mov byte [ebp - 0x23], 0xab
mov byte [ebp - 0x22], 0xdc
mov byte [ebp - 0x21], 0x56
mov dword [ebp - 0x40], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x30]
push eax
push str.x2do2d0j
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
call fcn.004091a3
mov ebx, dword [ebp - 0x38]
push ebx
lea ecx, [ebp - 0x34]
call fcn.0040f8a3
test eax, eax
je 0x416027
push 2
push dword [ebp - 0x3c]
call edi
lea ecx, [ebx - 0x10]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0
call fcn.00409012
cmp dword [ebp - 0x3c], 0
jne 0x415eba
push 5
push dword [ebp - 0x44]
jmp 0x416053
lea ecx, [ebx - 0x10]
call fcn.00409012
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00409012
mov eax, esi
call fcn.0043883a
ret
push esi
call fcn.00415e7b
test eax, eax
pop ecx
jne 0x41605d
push 2
push esi
call edi
mov esi, eax
test esi, esi
jne 0x416045
jmp 0x416032
mov esi, eax
jmp 0x416032
Function at 0x416061
Capabilities:
Get graphical window text

Disassembly:
push 0x30
mov eax, 0x453b98
call fcn.004387b7
mov esi, dword [ebp + 8]
call fcn.00423024
push eax
lea ecx, [ebp - 0x34]
call fcn.00421c70
and dword [ebp - 4], 0
push 5
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov ebx, eax
test ebx, ebx
je 0x4161fb
mov esi, 0x400
lea eax, [ebp - 0x34]
push eax
push ebx
call fcn.00415e54
pop ecx
pop ecx
call fcn.00423024
push eax
lea ecx, [ebp - 0x38]
call fcn.00421c70
lea eax, [ebp - 0x3c]
push eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
mov byte [ebp - 0x20], 0xb
mov byte [ebp - 0x1f], 0xf5
mov byte [ebp - 0x1e], 0x43
mov byte [ebp - 0x1d], 0xbf
mov byte [ebp - 0x1c], 4
mov byte [ebp - 0x1b], 0x47
mov byte [ebp - 0x1a], 0x14
mov byte [ebp - 0x19], 0xda
mov byte [ebp - 0x18], 0xaf
mov byte [ebp - 0x17], 0xf9
mov byte [ebp - 0x16], 0x22
mov byte [ebp - 0x15], 0xd4
mov byte [ebp - 0x14], 0x4f
mov byte [ebp - 0x13], 0xcc
mov byte [ebp - 0x12], 0x35
mov byte [ebp - 0x11], 0x27
mov dword [ebp - 0x3c], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x20]
push eax
push str.g4_fg6
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
call fcn.004091a3
mov edi, dword [ebp - 0x38]
push edi
lea ecx, [ebp - 0x34]
call fcn.0040f8a3
test eax, eax
jne 0x4161dc
push esi
lea ecx, [ebp - 0x34]
call fcn.00409312
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
jle 0x4161dc
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.004091a3
lea eax, [ebp - 0x3c]
push eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x30], 0x1d
mov byte [ebp - 0x2f], 0xae
mov byte [ebp - 0x2e], 0x92
mov byte [ebp - 0x2d], 0xc
mov byte [ebp - 0x2c], 0x49
mov byte [ebp - 0x2b], 0xa1
mov byte [ebp - 0x2a], 0xd9
mov byte [ebp - 0x29], 0x20
mov byte [ebp - 0x28], 0xb4
mov byte [ebp - 0x27], 0xe0
mov byte [ebp - 0x26], 0x1a
mov byte [ebp - 0x25], 0xe1
mov byte [ebp - 0x24], 0x34
mov byte [ebp - 0x23], 0xf8
mov byte [ebp - 0x22], 0x1b
mov byte [ebp - 0x21], 0xfd
mov dword [ebp - 0x3c], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x30]
push eax
push str.A_wvtlw3125_
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
call fcn.004091a3
mov edi, dword [ebp - 0x38]
push edi
lea ecx, [ebp - 0x34]
call fcn.0040f8a3
test eax, eax
je 0x4161ff
push 2
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
lea ecx, [edi - 0x10]
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00409012
test ebx, ebx
jne 0x41609a
xor ebx, ebx
jmp 0x416207
lea ecx, [edi - 0x10]
call fcn.00409012
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00409012
mov eax, ebx
call fcn.0043883a
ret
Function at 0x416486
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
mov ecx, dword [ebp + 0x14]
je 0x4164b2
call fcn.004091d2
xor eax, eax
leave
ret
mov eax, 0x208
push esi
push eax
mov dword [ebp - 8], eax
call fcn.00409312
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
push dword [ebp - 4]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 0x14]
push 0xffffffffffffffff
call fcn.004091a3
test esi, esi
pop esi
je 0x4164f1
mov ecx, dword [ebp + 0x14]
jmp 0x4164a9
xor eax, eax
inc eax
leave
ret
Function at 0x417180
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x40
mov eax, 0x453dce
call fcn.004387b7
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
mov esi, 0x400
push eax
push esi
mov ecx, edi
mov byte [ebp - 0x40], 0x18
mov byte [ebp - 0x3f], 0x7c
mov byte [ebp - 0x3e], 0x3f
mov byte [ebp - 0x3d], 0x70
mov byte [ebp - 0x3c], 0x6e
mov byte [ebp - 0x3b], 9
mov byte [ebp - 0x3a], 0x12
mov byte [ebp - 0x39], 0x5a
mov byte [ebp - 0x38], 0x2d
mov byte [ebp - 0x37], 0xb4
mov byte [ebp - 0x36], 0xa2
mov byte [ebp - 0x35], 0x63
mov byte [ebp - 0x34], 0x86
mov byte [ebp - 0x33], 0xfc
mov byte [ebp - 0x32], 0xd0
mov byte [ebp - 0x31], 0xc4
mov byte [ebp - 0x30], 0xdf
mov byte [ebp - 0x2f], 0x49
mov byte [ebp - 0x2e], 0x64
mov byte [ebp - 0x2d], 0xa1
mov byte [ebp - 0x2c], 0xab
mov byte [ebp - 0x2b], 0xf2
mov byte [ebp - 0x2a], 0x4f
mov byte [ebp - 0x29], 0x95
mov byte [ebp - 0x28], 0x8c
mov byte [ebp - 0x27], 0x2c
mov byte [ebp - 0x26], 0x22
mov byte [ebp - 0x25], 0x2f
mov byte [ebp - 0x24], 0xbf
mov byte [ebp - 0x23], 0xd1
mov byte [ebp - 0x22], 0x1f
mov byte [ebp - 0x21], 0xe4
mov dword [ebp - 0x44], esi
call fcn.00409312
push eax
push 0x20
lea eax, [ebp - 0x40]
push eax
push str.12cd3
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
mov ecx, edi
call fcn.004091a3
mov byte [ebp - 0x20], 0xd9
mov byte [ebp - 0x1f], 0x10
mov byte [ebp - 0x1e], 0xf
mov byte [ebp - 0x1d], 0x49
mov byte [ebp - 0x1c], 0xe5
mov byte [ebp - 0x1b], 0x18
mov byte [ebp - 0x1a], 0x60
mov byte [ebp - 0x19], 0x7d
mov byte [ebp - 0x18], 0x29
mov byte [ebp - 0x17], 0xf7
mov byte [ebp - 0x16], 0x5b
mov byte [ebp - 0x15], 0xf7
mov byte [ebp - 0x14], 0xe4
mov byte [ebp - 0x13], 0x10
mov byte [ebp - 0x12], 0xd6
mov byte [ebp - 0x11], 0x61
call fcn.00423024
push eax
lea ecx, [ebp - 0x44]
call fcn.00421c70
and dword [ebp - 4], 0
lea eax, [ebp - 0x4c]
push eax
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x4c], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x20]
push eax
push str.1ndf5f83
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x44]
call fcn.004091a3
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push edi
push eax
call fcn.00409725
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.0040955a
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00409012
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00409012
mov eax, dword [edi]
call fcn.0043883a
ret 4
Function at 0x4183c4
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
push str.UXTHEME.DLL
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ebx, ebx
cmp eax, ebx
mov dword [esi + 4], eax
je 0x418450
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.OpenThemeData
push eax
call edi
push str.DrawThemeBackground
push dword [esi + 4]
mov dword [esi + 0xc], eax
call edi
push str.CloseThemeData
push dword [esi + 4]
mov dword [esi + 0x10], eax
call edi
push str.DrawThemeText
push dword [esi + 4]
mov dword [esi + 0x14], eax
call edi
push str.GetThemeBackgroundContentRect
push dword [esi + 4]
mov dword [esi + 0x18], eax
call edi
cmp dword [esi + 0xc], ebx
mov dword [esi + 0x1c], eax
pop edi
je 0x418444
cmp dword [esi + 0x10], ebx
je 0x418444
cmp dword [esi + 0x14], ebx
je 0x418444
cmp dword [esi + 0x18], ebx
je 0x418444
cmp eax, ebx
je 0x418444
mov dword [esi + 8], 1
jmp 0x418450
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 4], ebx
pop esi
pop ebx
ret

Function at 0x4184d4
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
lea ebp, [esp - 0x198]
sub esp, 0x218
mov eax, dword [0x474ea0]
xor eax, ebp
mov dword [ebp + 0x194], eax
test byte [0x47765c], 1
mov eax, dword [ebp + 0x1a0]
mov dword [ebp - 0x80], eax
jne 0x418518
or dword [0x47765c], 1
push str.www.systweak.com
call fcn.00437770
pop ecx
mov dword [0x477658], eax
push ebx
push esi
push edi
mov esi, 0x101
push esi
xor edi, edi
lea eax, [ebp + 0x90]
push edi
push eax
call fcn.004376f0
push esi
lea eax, [ebp - 0x74]
push edi
push eax
call fcn.004376f0
add esp, 0x18
xor eax, eax
lea ecx, [esi - 1]
mov byte [ebp + eax + 0x90], al
inc eax
cmp eax, ecx
jb 0x418543
xor eax, eax
xor esi, esi
cmp eax, dword [0x477658]
jne 0x41855d
xor eax, eax
mov dl, byte [eax + str.www.systweak.com]
inc eax
mov byte [ebp + esi - 0x74], dl
inc esi
cmp esi, ecx
jb 0x418553
mov dword [ebp - 0x78], edi
mov ecx, 0xff
movzx eax, byte [ebp + edi - 0x74]
lea esi, [ebp + edi + 0x90]
mov dl, byte [esi]
movzx ebx, dl
add ebx, dword [ebp - 0x78]
add eax, ebx
and eax, ecx
mov dword [ebp - 0x78], eax
lea eax, [ebp + eax + 0x90]
mov bl, byte [eax]
inc edi
cmp edi, 0x100
mov byte [esi], bl
mov byte [eax], dl
jb 0x418575
xor edx, edx
cmp dword [ebp + 0x1a4], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x7c], edx
jbe 0x418602
inc edx
and edx, ecx
lea esi, [ebp + edx + 0x90]
mov al, byte [esi]
movzx ebx, al
add ebx, dword [ebp - 0x78]
and ebx, ecx
mov edi, ebx
mov dword [ebp - 0x78], edi
lea edi, [ebp + edi + 0x90]
mov bl, byte [edi]
mov byte [esi], bl
mov ebx, dword [ebp - 0x7c]
mov byte [edi], al
mov edi, dword [ebp - 0x80]
add edi, ebx
movzx ebx, byte [esi]
add eax, ebx
and eax, ecx
mov al, byte [ebp + eax + 0x90]
xor byte [edi], al
inc dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp + 0x1a4]
jb 0x4185b6
mov ecx, dword [ebp + 0x194]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004377fb
add ebp, 0x198
leave
ret 8
Function at 0x418830
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x40
mov eax, 0x453f78
call fcn.004387b7
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
mov esi, 0x400
push eax
push esi
mov ecx, edi
mov byte [ebp - 0x40], 0x18
mov byte [ebp - 0x3f], 0x7c
mov byte [ebp - 0x3e], 0x3f
mov byte [ebp - 0x3d], 0x70
mov byte [ebp - 0x3c], 0x6e
mov byte [ebp - 0x3b], 9
mov byte [ebp - 0x3a], 0x12
mov byte [ebp - 0x39], 0x5a
mov byte [ebp - 0x38], 0x2d
mov byte [ebp - 0x37], 0xb4
mov byte [ebp - 0x36], 0xa2
mov byte [ebp - 0x35], 0x63
mov byte [ebp - 0x34], 0x86
mov byte [ebp - 0x33], 0xfc
mov byte [ebp - 0x32], 0xd0
mov byte [ebp - 0x31], 0xc4
mov byte [ebp - 0x30], 0xdf
mov byte [ebp - 0x2f], 0x49
mov byte [ebp - 0x2e], 0x64
mov byte [ebp - 0x2d], 0xa1
mov byte [ebp - 0x2c], 0xab
mov byte [ebp - 0x2b], 0xf2
mov byte [ebp - 0x2a], 0x4f
mov byte [ebp - 0x29], 0x95
mov byte [ebp - 0x28], 0x8c
mov byte [ebp - 0x27], 0x2c
mov byte [ebp - 0x26], 0x22
mov byte [ebp - 0x25], 0x2f
mov byte [ebp - 0x24], 0xbf
mov byte [ebp - 0x23], 0xd1
mov byte [ebp - 0x22], 0x1f
mov byte [ebp - 0x21], 0xe4
mov dword [ebp - 0x44], esi
call fcn.00409312
push eax
push 0x20
lea eax, [ebp - 0x40]
push eax
push str.12cd3
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
mov ecx, edi
call fcn.004091a3
mov byte [ebp - 0x20], 0x84
mov byte [ebp - 0x1f], 0x6a
mov byte [ebp - 0x1e], 0x72
mov byte [ebp - 0x1d], 0xae
mov byte [ebp - 0x1c], 0xbc
mov byte [ebp - 0x1b], 0x88
mov byte [ebp - 0x1a], 0x61
mov byte [ebp - 0x19], 0x89
mov byte [ebp - 0x18], 0xfc
mov byte [ebp - 0x17], 0x52
mov byte [ebp - 0x16], 0xd1
mov byte [ebp - 0x15], 0x38
mov byte [ebp - 0x14], 0x64
mov byte [ebp - 0x13], 0xfe
mov byte [ebp - 0x12], 0x16
mov byte [ebp - 0x11], 0xf2
call fcn.00423024
push eax
lea ecx, [ebp - 0x44]
call fcn.00421c70
and dword [ebp - 4], 0
lea eax, [ebp - 0x4c]
push eax
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x4c], esi
call fcn.00409312
push eax
push 0x10
lea eax, [ebp - 0x20]
push eax
push str.1ndf5f83
call fcn.0040d5ac
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [ebp - 0x44]
call fcn.004091a3
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push edi
push eax
call fcn.00409725
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.0040955a
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00409012
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00409012
mov eax, dword [edi]
call fcn.0043883a
ret 4
Function at 0x418e91
Capabilities:
Create tcp socket
Initialize winsock library
Print debug messages
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
mov eax, dword [0x474ea0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [esi + 8], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
lea eax, [ebp - 0x1b0]
push eax
push 0x202
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
je 0x418edf
push str.Error_at_WSAStartup___n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x418f8d
push 6
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x418f2c
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Error_at_socket__:
call esi
push 0xa
push 0xa
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
call fcn.0043b1e4
add esp, 0x10
lea eax, [ebp - 0x10]
push eax
call esi
push 0x45a3fc
call esi
call dword [sym.imp.WSOCK32.dll_WSACleanup]
jmp 0x418ed8
push edi
mov word [ebp - 0x20], 2
call dword [sym.imp.WSOCK32.dll_inet_addr]
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
call dword [sym.imp.WSOCK32.dll_htons]
mov word [ebp - 0x1e], ax
push 0x10
lea eax, [ebp - 0x20]
push eax
push dword [esi + 4]
call dword [sym.imp.WSOCK32.dll_bind]
cmp eax, 0xffffffff
jne 0x418f73
push str.bind___failed._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push dword [esi + 4]
call dword [sym.imp.WSOCK32.dll_closesocket]
jmp 0x418f24
push 1
push dword [esi + 4]
call dword [sym.imp.WSOCK32.dll_listen]
cmp eax, 0xffffffff
jne 0x418f8a
push str.Error_listening_on_socket._n
jmp 0x418f62
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004377fb
leave
ret 0xc

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

Disassembly:
push 0
push dword [esp + 0xc]
call fcn.00437770
pop ecx
push eax
push dword [esp + 0x10]
push dword [esp + 0x10]
call dword [sym.imp.WSOCK32.dll_send]
ret 8
Function at 0x41a430
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x4541f8
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x474ea0]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xc]
test ecx, ecx
mov dword [esi], vtable.CFileStream.0
je 0x41a4d7
cmp dword [esi + 0x10], 0
je 0x41a4ba
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 8]
push edx
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x14], 0
call eax
mov ecx, dword [esp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 8]
add eax, 0xfffffff0
mov dword [esp + 0x14], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41a4c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x41a4c1
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
cmp dword [esi + 0x14], 0
je 0x41a4d7
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x41a4d7
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret