joyce8/EMBER2024-capa huggingface dataset:
Function at 0x401b60
Capabilities:
Get thread local storage value

Disassembly:
push esi
push ebx
sub esp, 0x14
mov dword [esp], 0x407044
call sym._EnterCriticalSection_4
mov ebx, dword [0x40703c]
sub esp, 4
test ebx, ebx
je 0x401bab
nop
mov eax, dword [ebx]
mov dword [esp], eax
call sym._TlsGetValue_4
sub esp, 4
mov esi, eax
call sym._GetLastError_0
test eax, eax
jne 0x401ba4
test esi, esi
je 0x401ba4
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x401b80
mov dword [esp], 0x407044
call sym._LeaveCriticalSection_4
sub esp, 4
add esp, 0x14
pop ebx
pop esi
ret

Function at 0x401d90
Capabilities:
Write file on windows

Disassembly:
push esi
push ebx
sub esp, 0x14
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x17
mov dword [esp + 4], 1
lea esi, [esp + 0x24]
mov dword [esp], str.Mingw_runtime_failure:_n
lea ebx, [eax + 0x40]
mov dword [esp + 0xc], ebx
call sym._fwrite
mov eax, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._vfprintf
call sym._abort
lea esi, [esi]

Function at 0x401de0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
mov ebx, eax
mov esi, edx
sub esp, 0x4c
lea eax, [esp + 0x24]
mov dword [esp + 8], 0x1c
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._VirtualQuery_12
sub esp, 0xc
test eax, eax
je 0x401eb8
mov eax, dword [esp + 0x38]
cmp eax, 0x40
je 0x401e1e
cmp eax, 4
jne 0x401e40
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._memcpy
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x30]
lea ebp, [esp + 0x20]
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym._VirtualProtect_16
sub esp, 0x10
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x1c], edx
call sym._memcpy
mov edx, dword [esp + 0x1c]
cmp edx, 0x40
je 0x401e2e
cmp edx, 4
je 0x401e2e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym._VirtualProtect_16
sub esp, 0x10
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1c
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
call fcn.00401d90

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x40d3d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
pushal
call 0x40d3df
pop dword [ebp - 0x44]
mov eax, 0xe7525efd
sub eax, 0xe7118b1e
sub dword [ebp - 0x44], eax
mov dword [ebp - 0x54], 0xd2ad07dc
add dword [ebp - 0x54], 0x7ba53d6f
mov dword [ebp - 0x50], 0x72664522
add dword [ebp - 0x50], 0xbfcd0723
mov dword [ebp - 0x4c], 0x6d2320ad
add dword [ebp - 0x4c], 0xdf292381
mov dword [ebp - 0x48], 0x4c33409c
add dword [ebp - 0x48], 0xb3ccbf64
lea eax, [ebp - 0x54]
push eax
mov eax, 0xb5713539
add eax, 0x4ad00b57
add eax, dword [ebp - 0x44]
call dword [eax]
mov dword [ebp - 0x54], 0x6dbc1b69
add dword [ebp - 0x54], 0x6b64ded
mov dword [ebp - 0x50], 0x20abe3ad
add dword [ebp - 0x50], 0x20c07dc8
mov dword [ebp - 0x4c], 0xbe8496be
sub dword [ebp - 0x4c], 0x5b152a52
mov dword [ebp - 0x48], 0x33c3c500
add dword [ebp - 0x48], 0xcc3c3b00
lea ebx, [ebp - 0x54]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x44]
call dword [eax]
push 0x40
push 0x1000
push 0x3d0c5
push 0
call eax
mov ecx, 0x511d
xor esi, esi
add esi, eax
mov edx, 0x23f9a2a6
add edx, 0xdc481d5a
add edx, dword [ebp - 0x44]
mov ebx, 0x14686e27
add dword [ebp - 0x20], 0x70a89e86
mov edi, dword [edx]
mov dword [ebp - 0x3c], 0xd37ba6ab
add edi, ebx
xor dword [ebp - 0x1c], ecx
mov dword [esi], edi
sub dword [ebp - 0x30], edx
add esi, 0x58ad80bc
add esi, 0xa7527f48
add edx, 0xf6bd784
sub edx, 0xf6bd780
loop 0x40d4f2
add eax, 0xf3933b0a
sub eax, 0xf39203c3
mov ebx, eax
add eax, 0x5649ace2
add eax, 0xa9b65323
mov ecx, 0xc983335f
sub ecx, 0xc943335f
add ecx, dword [ebp - 0x44]
call ebx
leave
ret

Function at 0x410b90
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push 4
mov esi, ecx
call main
pop ecx
xor ecx, ecx
mov dword [ebp - 4], eax
test eax, eax
je 0x410bac
mov dword [eax], ecx
jmp 0x410bae
mov eax, ecx
push ecx
push ecx
push esi
push 0x410c20
push ecx
push ecx
mov dword [esi + 0x10], eax
call dword [sym.imp.kernel32.dll_CreateThread]
mov ecx, dword [esi + 0x10]
pop esi
mov dword [ecx], eax
leave
ret
Function at 0x1003292f
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x424
mov eax, 0x10023bc9
call fcn.10022973
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x41c], eax
xor eax, eax
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x418], eax
push 0x60
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.100339be
mov edi, eax
mov dword [ebp - 0x420], edi
test edi, edi
jne 0x100329a4
push 2
mov ecx, esi
call fcn.100339be
mov edi, eax
mov dword [ebp - 0x420], eax
test edi, edi
jne 0x100329a4
call fcn.10031dc9
mov esi, eax
jmp 0x10032a78
push dword [ebp - 0x41c]
push ebx
push edi
call dword [sym.imp.kernel32.dll_FindResourceW]
mov esi, eax
test esi, esi
jne 0x100329c2
call fcn.10031dc9
jmp 0x10032a6b
push esi
push edi
call dword [sym.imp.kernel32.dll_LoadResource]
mov ebx, eax
mov dword [ebp - 0x41c], ebx
test ebx, ebx
je 0x100329b8
push esi
push edi
call dword [sym.imp.kernel32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x424], esi
lea eax, [esi + 1]
cmp eax, esi
jae 0x100329f4
mov esi, 0x8007000e
jmp 0x10032a6d
push eax
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 2
call fcn.100362f7
jmp 0x10032a1e
mov dword [ebp - 4], 1
cmp dword [ebp - 0x418], 0
je 0x100329ed
push esi
push dword [ebp - 0x418]
push esi
push ebx
push 0
push 3
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov ecx, eax
test ecx, ecx
je 0x100329b8
mov eax, dword [ebp - 0x418]
xor edx, edx
push dword [ebp + 0x14]
mov word [eax + ecx*2], dx
lea ecx, [ebp - 0x430]
push dword [ebp - 0x418]
call fcn.100362f7
mov esi, eax
test edi, edi
je 0x10032a78
push edi
call dword [sym.imp.kernel32.dll_FreeLibrary]
lea eax, [ebp - 0x414]
cmp dword [ebp - 0x418], eax
je 0x10032a91
lea ecx, [ebp - 0x418]
call fcn.10032083
lea ecx, [ebp - 0x428]
call fcn.1003150e
mov eax, esi
call fcn.10022963
ret 0x10
Function at 0x100362f7
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
pushal
call 0x10036306
pop dword [ebp - 0x1c]
mov eax, 0x10036306
sub dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0x87ec87e2
sub dword [ebp - 0x2c], 0x399a4297
mov dword [ebp - 0x28], 0xbfe772ff
add dword [ebp - 0x28], 0x724bd946
mov dword [ebp - 0x24], 0x971c7c01
add dword [ebp - 0x24], 0xb52fc82d
mov dword [ebp - 0x20], 0xd37e295d
add dword [ebp - 0x20], 0x2c81d6a3
lea eax, [ebp - 0x2c]
push eax
mov eax, 0xacba0553
sub eax, 0x9cb17533
add eax, dword [ebp - 0x1c]
call dword [eax]
mov dword [ebp - 0x2c], 0x186a366c
add dword [ebp - 0x2c], 0x5c0832ea
mov dword [ebp - 0x28], 0xd1931fbc
sub dword [ebp - 0x28], 0x9026be47
mov dword [ebp - 0x24], 0xe379055
add dword [ebp - 0x24], 0x5537dc17
mov dword [ebp - 0x20], 0x24be76fc
sub dword [ebp - 0x20], 0x24be76fc
lea ebx, [ebp - 0x2c]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x1c]
call dword [eax]
push 0x40
push 0x1000
push 0x63550
push 0
call eax
mov ecx, 0x4bff
xor ebx, ebx
add ebx, eax
mov edx, 0x69478386
sub edx, 0x593c1f86
add edx, dword [ebp - 0x1c]
mov edi, 0x3abd8227
sub edi, 0xbf24a671
mov dword [ebp - 4], 0x7483df26
mov esi, dword [edx]
add esi, edi
xor dword [ebp - 0x10], 0x380719e2
mov dword [ebx], esi
add ebx, 0xe9b920eb
add ebx, 0x1646df19
add edx, 0x8b3c0f74
sub edx, 0x8b3c0f70
loop 0x1003641a
add eax, 0x122cf
xor ebx, ebx
add ebx, eax
add eax, 0x966b5678
sub eax, 0x966b5673
mov ecx, 0x10000000
add ecx, dword [ebp - 0x1c]
call ebx
leave
ret
Function at 0x1004807d
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100481de
push 0x29
pop edi
mov edx, 0x10000000
cmp eax, 0x7c
je 0x100481de
cmp eax, edi
jne 0x100480be
cmp dword [esi + 0x10], 0
mov eax, edi
jne 0x100481de
cmp eax, edi
jne 0x100480be
test dword [esi + 0x50], edx
je 0x100481e4
cmp eax, 0x2e
jne 0x100480d9
push 5
lea ecx, [esi + 0x24]
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
jmp 0x100481c9
cmp eax, 0x5c
jne 0x1004812e
mov ecx, esi
call fcn.10049c8b
test byte [esi + 0x50], 0x80
je 0x10048122
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x1004810a
push 4
lea ecx, [esi + 0x24]
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
jmp 0x100481d0
cmp eax, 0x42
jne 0x10048122
push 4
lea ecx, [esi + 0x24]
call fcn.100362f7
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x100480fe
mov ecx, esi
call fcn.100362f7
jmp 0x100481c9
cmp eax, 0x5b
jne 0x1004814e
mov ecx, esi
call fcn.10049c8b
mov ecx, esi
call fcn.1004877d
push 4
push 0x5d
mov ecx, esi
call fcn.100362f7
jmp 0x100481c9
cmp eax, 0x28
jne 0x1004816f
mov ecx, esi
call fcn.10049c8b
mov ecx, esi
call fcn.1004a1aa
push 5
push edi
mov ecx, esi
mov bl, al
call fcn.100362f7
jmp 0x100481c5
cmp eax, 0x5e
jne 0x1004817b
push 2
jmp 0x100480f6
cmp eax, 0x24
jne 0x10048187
push 3
jmp 0x100480f6
cmp eax, 0x2a
je 0x100481f4
cmp eax, 0x2b
je 0x100481f4
cmp eax, 0x3f
je 0x100481f4
cmp eax, 0x7b
je 0x100481f4
cmp eax, 0x7d
jne 0x100481a5
test dword [esi + 0x50], edx
je 0x100481ec
cmp eax, 0x5d
jne 0x100481af
test dword [esi + 0x50], edx
je 0x100481f0
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
mov bl, 1
test bl, bl
je 0x100481d0
mov ecx, esi
call fcn.100362f7
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10048093
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
jmp 0x100481e6
push 4
jmp 0x100481e6
push 0xa
jmp 0x100481e6
Function at 0x1004807e
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100481de
push 0x29
pop edi
mov edx, 0x10000000
cmp eax, 0x7c
je 0x100481de
cmp eax, edi
jne 0x100480be
cmp dword [esi + 0x10], 0
mov eax, edi
jne 0x100481de
cmp eax, edi
jne 0x100480be
test dword [esi + 0x50], edx
je 0x100481e4
cmp eax, 0x2e
jne 0x100480d9
push 5
lea ecx, [esi + 0x24]
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
jmp 0x100481c9
cmp eax, 0x5c
jne 0x1004812e
mov ecx, esi
call fcn.10049c8b
test byte [esi + 0x50], 0x80
je 0x10048122
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x1004810a
push 4
lea ecx, [esi + 0x24]
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
jmp 0x100481d0
cmp eax, 0x42
jne 0x10048122
push 4
lea ecx, [esi + 0x24]
call fcn.100362f7
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x100480fe
mov ecx, esi
call fcn.100362f7
jmp 0x100481c9
cmp eax, 0x5b
jne 0x1004814e
mov ecx, esi
call fcn.10049c8b
mov ecx, esi
call fcn.1004877d
push 4
push 0x5d
mov ecx, esi
call fcn.100362f7
jmp 0x100481c9
cmp eax, 0x28
jne 0x1004816f
mov ecx, esi
call fcn.10049c8b
mov ecx, esi
call fcn.1004a1aa
push 5
push edi
mov ecx, esi
mov bl, al
call fcn.100362f7
jmp 0x100481c5
cmp eax, 0x5e
jne 0x1004817b
push 2
jmp 0x100480f6
cmp eax, 0x24
jne 0x10048187
push 3
jmp 0x100480f6
cmp eax, 0x2a
je 0x100481f4
cmp eax, 0x2b
je 0x100481f4
cmp eax, 0x3f
je 0x100481f4
cmp eax, 0x7b
je 0x100481f4
cmp eax, 0x7d
jne 0x100481a5
test dword [esi + 0x50], edx
je 0x100481ec
cmp eax, 0x5d
jne 0x100481af
test dword [esi + 0x50], edx
je 0x100481f0
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100362f7
mov ecx, esi
call fcn.10049c8b
mov bl, 1
test bl, bl
je 0x100481d0
mov ecx, esi
call fcn.100362f7
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10048093
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
jmp 0x100481e6
push 4
jmp 0x100481e6
push 0xa
jmp 0x100481e6
Function at 0x100017c1
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push edi
push 0x14
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
pop ecx
test edi, edi
je 0x1000185c
push str.jvm.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov ebx, eax
test ebx, ebx
jne 0x100017f3
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
xor eax, eax
jmp 0x1000185e
push esi
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
push str.JVM_DTraceGetVersion
push ebx
call esi
push str.JVM_DTraceIsSupported
push ebx
mov dword [edi], eax
call esi
push str.JVM_DTraceActivate
push ebx
mov dword [edi + 4], eax
call esi
push str.JVM_DTraceDispose
push ebx
mov dword [edi + 8], eax
call esi
push str.JVM_DTraceIsProbeEnabled
push ebx
mov dword [edi + 0xc], eax
call esi
push ebx
mov dword [edi + 0x10], eax
call dword [sym.imp.kernel32.dll_FreeLibrary]
xor esi, esi
cmp dword [edi], esi
je 0x10001851
cmp dword [edi + 4], esi
je 0x10001851
cmp dword [edi + 8], esi
je 0x10001851
cmp dword [edi + 0xc], esi
je 0x10001851
cmp dword [edi + 0x10], esi
jne 0x1000185b
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov edi, esi
pop esi
mov eax, edi
pop edi
pop ebx
ret

Function at 0x100022cf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
pushal
call 0x100022de
pop dword [ebp - 0x18]
mov eax, 0x96cfdb2
add eax, 0x693252c
sub dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0xb8c0505
sub dword [ebp - 0x28], 0xbd39bfba
mov dword [ebp - 0x24], 0xd562c8ce
sub dword [ebp - 0x24], 0xa32f7c89
mov dword [ebp - 0x20], 0x4131127c
add dword [ebp - 0x20], 0xb1b31b2
mov dword [ebp - 0x1c], 0x629c0e24
sub dword [ebp - 0x1c], 0x629c0e24
lea eax, [ebp - 0x28]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x18]
call dword [eax]
mov dword [ebp - 0x28], 0x6c856b2f
add dword [ebp - 0x28], 0x7ecfe27
mov dword [ebp - 0x24], 0xad93e0e9
add dword [ebp - 0x24], 0x93d8808c
mov dword [ebp - 0x20], 0xe02c1f73
sub dword [ebp - 0x20], 0x7cbcb307
mov dword [ebp - 0x1c], 0xf7a245fb
sub dword [ebp - 0x1c], 0xf7a245fb
lea ebx, [ebp - 0x28]
push ebx
push eax
mov eax, 0xb8d80ad8
add eax, 0x57282530
add eax, dword [ebp - 0x18]
call dword [eax]
push 0x40
push 0x1000
push 0x3a22a
push 0
call eax
mov ecx, 0x768b6bbe
sub ecx, 0x768b1526
mov edx, eax
mov edi, 0x10006200
add edi, dword [ebp - 0x18]
mov esi, 0x32d8e51b
sub dword [ebp - 8], 0xa4b177ef
mov ebx, dword [edi]
add dword [ebp - 8], esi
xor ebx, esi
add dword [ebp - 4], 0x32a9c82a
mov dword [edx], ebx
sub dword [ebp - 4], 0x1aa73f5c
add edx, 0x4ea0af82
add edx, 0xb15f5082
add edi, 4
loop 0x100023ef
add eax, 0xb1c25bb1
add eax, 0x4e3ef182
mov ebx, eax
add eax, 5
mov ecx, 0x10000000
add ecx, dword [ebp - 0x18]
call ebx
leave
ret

Function at 0x132e000
Capabilities:
Decompress data using aplib

Disassembly:
jmp 0x132e00a
jmp 0x133000f
jmp fcn.01091058
Function at 0x406ccd
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebx
push ebp
push esi
xor esi, esi
push edi
mov edi, ecx
mov eax, esi
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmmword [0x15d0d290]
movups xmmword [edi + eax*4], xmm0
add eax, 4
cmp eax, 0x100
jl 0x406cd7
mov ebp, dword [esp + 0x14]
mov ebx, esi
xor edx, edx
mov eax, ebx
div dword [esp + 0x18]
movzx eax, byte [edx + ebp]
add eax, dword [edi + ebx*4]
add esi, eax
and esi, 0x800000ff
jns 0x406d1d
dec esi
or esi, 0xffffff00
inc esi
mov cl, byte [edi + ebx*4]
mov eax, dword [edi + esi*4]
mov dword [edi + ebx*4], eax
inc ebx
movzx eax, cl
mov dword [edi + esi*4], eax
cmp ebx, 0x100
jl 0x406cfc
pop edi
pop esi
pop ebp
pop ebx
ret 8

Function at 0x406d3c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x400
lea eax, [esp]
push ebx
push esi
push edi
push 0x400
push ecx
xor esi, esi
push eax
mov edi, esi
call fcn.00436910
mov edx, dword [esp + 0x420]
add esp, 0xc
mov ebx, esi
add edx, 1
je 0x406dcc
push ebp
mov ebp, dword [esp + 0x414]
inc esi
and esi, 0x800000ff
jns 0x406d82
dec esi
or esi, 0xffffff00
inc esi
mov eax, dword [esp + esi*4 + 0x10]
add edi, eax
and edi, 0x800000ff
jns 0x406d98
dec edi
or edi, 0xffffff00
inc edi
mov cl, al
mov eax, dword [esp + edi*4 + 0x10]
mov dword [esp + esi*4 + 0x10], eax
movzx eax, cl
mov dword [esp + edi*4 + 0x10], eax
mov ecx, dword [esp + esi*4 + 0x10]
add ecx, eax
and ecx, 0x800000ff
jns 0x406dbf
dec ecx
or ecx, 0xffffff00
inc ecx
mov al, byte [esp + ecx*4 + 0x10]
xor byte [ebx + ebp], al
inc ebx
cmp ebx, edx
jb 0x406d71
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x400
ret 8
Function at 0x40120c
Capabilities:
Authenticate hmac
Create thread
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
push 8
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x2c], eax
mov edi, eax
mov esi, 0x42824a
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x30], 0
push 8
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x42824a
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
jmp loc.0044ab29

Function at 0x404473
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 4], 0
jmp 0x406e52
jmp loc.00443c29

Function at 0x4050bc
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
push 0x108
call fcn.0041e661
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x4283e6
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x108
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, 0x4283e6
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
jmp 0x412ed6
jmp loc.0044d25c
Function at 0x405bfe
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
push 0x108
call fcn.0041e661
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x4283e6
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x108
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, 0x4283e6
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
jmp loc.004491a3

Function at 0x4069ea
Capabilities:
Authenticate hmac
Encode data using base64
Execute anti-debugging instructions
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push 0x20
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
push 8
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x68], eax
mov edi, eax
mov esi, 0x42824a
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0041e661
add esp, 4
mov dword [ebp - 0x6c], eax
mov edi, eax
mov esi, 0x42824a
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x70], 0
jmp 0x41b09d
jmp loc.0044454a

Function at 0x40934e
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
jmp loc.004419bd

Function at 0x409604
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
jmp loc.0043e754

Function at 0x409ea3
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], 0
jmp 0x40db95
jmp loc.0044c3bf

Function at 0x40a230
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push 0x40
call fcn.0041e661
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
jmp loc.00447dcc