joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4030b0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
push ebx
push ebp
push esi
mov dl, byte [eax]
inc eax
mov byte [esp + 0x17], dl
push edi
mov dl, byte [eax]
inc eax
mov byte [esp + 0x1a], dl
mov edi, 8
mov dl, byte [eax]
inc eax
mov byte [esp + 0x19], dl
mov dl, byte [eax]
inc eax
mov byte [esp + 0x18], dl
mov dl, byte [eax]
inc eax
mov byte [esp + 0x13], dl
mov dl, byte [eax]
inc eax
mov byte [esp + 0x12], dl
mov dl, byte [eax]
mov al, byte [eax + 1]
mov byte [esp + 0x11], dl
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebp, dword [edx]
add edx, 4
xor eax, ebp
add edx, 4
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x1a]
mov ebp, dword [esp + 0x1b]
and ebx, 0xff
and ebp, 0xff
mov ebx, dword [ecx + ebx*4 + 0x494]
add ebx, dword [ecx + ebp*4 + 0x94]
mov ebp, dword [esp + 0x19]
and ebp, 0xff
xor ebx, dword [ecx + ebp*4 + 0x894]
mov ebp, eax
and ebp, 0xff
add ebx, dword [ecx + ebp*4 + 0xc94]
mov ebp, dword [edx - 4]
xor ebx, ebp
xor esi, ebx
mov dword [esp + 0x10], esi
mov ebx, dword [esp + 0x12]
mov ebp, dword [esp + 0x13]
and ebx, 0xff
and ebp, 0xff
mov ebx, dword [ecx + ebx*4 + 0x494]
add ebx, dword [ecx + ebp*4 + 0x94]
mov ebp, dword [esp + 0x11]
and ebp, 0xff
xor ebx, dword [ecx + ebp*4 + 0x894]
mov ebp, esi
and ebp, 0xff
add ebx, dword [ecx + ebp*4 + 0xc94]
xor eax, ebx
dec edi
jne 0x403103
mov ecx, dword [edx]
mov ebp, dword [edx + 4]
xor eax, ecx
xor esi, ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], esi
inc eax
mov cl, byte [esp + 0x13]
mov dl, byte [esp + 0x12]
mov byte [eax - 1], cl
mov cl, byte [esp + 0x11]
mov byte [eax], dl
mov dl, byte [esp + 0x10]
inc eax
pop edi
pop esi
pop ebp
mov byte [eax], cl
mov cl, byte [esp + 0xf]
inc eax
pop ebx
mov byte [eax], dl
mov dl, byte [esp + 0xa]
inc eax
mov byte [eax], cl
mov cl, byte [esp + 9]
inc eax
mov byte [eax], dl
mov dl, byte [esp + 8]
inc eax
mov byte [eax], cl
mov byte [eax + 1], dl
add esp, 0x10
ret 0xc
Function at 0x403200
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
sub esp, 0x10
mov eax, dword [eax]
mov edx, dword [edx]
push ebx
push ebp
push esi
push edi
lea esi, [ecx + 8]
mov edi, 8
mov ebx, dword [esi - 4]
add esi, 8
xor eax, ebx
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x12]
mov ebp, dword [esp + 0x13]
and ebx, 0xff
and ebp, 0xff
mov ebx, dword [ecx + ebx*4 + 0x494]
add ebx, dword [ecx + ebp*4 + 0x94]
mov ebp, dword [esp + 0x11]
and ebp, 0xff
xor ebx, dword [ecx + ebp*4 + 0x894]
mov ebp, eax
and ebp, 0xff
add ebx, dword [ecx + ebp*4 + 0xc94]
xor ebx, edx
mov edx, dword [esi - 8]
xor edx, ebx
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x1a]
mov ebp, dword [esp + 0x1b]
and ebx, 0xff
and ebp, 0xff
mov ebx, dword [ecx + ebx*4 + 0x494]
add ebx, dword [ecx + ebp*4 + 0x94]
mov ebp, dword [esp + 0x19]
and ebp, 0xff
xor ebx, dword [ecx + ebp*4 + 0x894]
mov ebp, edx
and ebp, 0xff
add ebx, dword [ecx + ebp*4 + 0xc94]
xor eax, ebx
dec edi
jne 0x40321b
mov esi, dword [ecx + 0x48]
pop edi
xor esi, edx
mov edx, dword [esp + 0x20]
mov dword [edx], esi
mov ecx, dword [ecx + 0x44]
mov edx, dword [esp + 0x24]
xor ecx, eax
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x10
ret 8

Function at 0x4032e0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x414270]
push 0
push 0x403320
push 0
push 0x65
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
push 1
push eax
mov dword [0x414258], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x414258]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x414258]
ret
Function at 0x403620
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x40f1b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x19c
push ebx
push esi
lea ecx, [esp + 0xc]
call fcn.00401ca0
xor ebx, ebx
lea ecx, [esp + 8]
mov dword [esp + 0x1ac], ebx
call fcn.00401ca0
lea ecx, [esp + 0x10]
mov byte [esp + 0x1ac], 1
call fcn.00401ca0
mov eax, dword [esp + 0x1c0]
lea ecx, [esp + 0x20]
push eax
push str.SKU_d
push ecx
mov byte [esp + 0x1b8], 2
call fcn.004071fa
mov ecx, dword [esp + 0x1c8]
add esp, 0xc
lea edx, [esp + 0xc]
lea eax, [esp + 0x20]
push edx
push eax
call fcn.00401550
test al, al
je 0x403809
lea ecx, [esp + 0x10]
push ecx
push 0x41309c
push ebx
lea ecx, [esp + 0x18]
call fcn.004021a0
lea edx, [esp + 0xc]
lea ecx, [esp + 8]
push edx
mov esi, eax
call fcn.00401d70
push esi
push ebx
lea ecx, [esp + 0x10]
call fcn.00401da0
lea ecx, [esp + 8]
call fcn.00401f90
cmp byte [eax], 0x20
jne 0x403700
push 1
push ebx
lea ecx, [esp + 0x10]
call fcn.00401da0
lea ecx, [esp + 8]
call fcn.00401f90
cmp byte [eax], 0x20
je 0x4036e6
lea eax, [esp + 0x1c]
lea ecx, [esp + 8]
push eax
push 0x20019
push ebx
call fcn.00401f90
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x403809
lea ecx, [esp + 0x14]
lea edx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push edx
push eax
push ebx
push str.InstallPath
push ecx
mov dword [esp + 0x2c], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp eax, ebx
jne 0x403809
cmp dword [esp + 0x18], 1
jne 0x403809
lea edx, [esp + 0xa0]
push 0x5c
push edx
lea esi, [esp + 0xa8]
call fcn.00406510
add esp, 8
cmp eax, ebx
je 0x403795
lea esi, [eax + 1]
push 0x5c
push esi
call fcn.00406510
add esp, 8
cmp eax, ebx
jne 0x403783
cmp esi, ebx
je 0x40379b
mov byte [esi], bl
mov eax, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1b4]
lea ecx, [esp + 0xa0]
push eax
push ecx
push edx
call fcn.00406c10
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x1ac], 1
call fcn.00401cd0
lea ecx, [esp + 8]
mov byte [esp + 0x1ac], bl
call fcn.00401cd0
lea ecx, [esp + 0xc]
mov dword [esp + 0x1ac], 0xffffffff
call fcn.00401cd0
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x19c]
mov dword fs:[0], ecx
add esp, 0x1a8
ret
lea ecx, [esp + 0x10]
mov byte [esp + 0x1ac], 1
call fcn.00401cd0
lea ecx, [esp + 8]
mov byte [esp + 0x1ac], bl
call fcn.00401cd0
lea ecx, [esp + 0xc]
mov dword [esp + 0x1ac], 0xffffffff
call fcn.00401cd0
mov ecx, dword [esp + 0x1a4]
pop esi
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x1a8
ret
Function at 0x403860
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x244
lea ecx, [esp]
push ebx
push 1
push eax
push 0x104
push ecx
mov ebx, 2
call fcn.00403620
add esp, 0x10
cmp al, 1
jne 0x40393d
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_FindNextFileA]
push esi
push edi
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jb 0x403914
mov edi, str.patches.
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x10]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x114]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40390d
lea edx, [esp + 0x114]
push edx
push esi
call ebp
test eax, eax
je 0x40390d
lea eax, [esp + 0x114]
push eax
push esi
call ebp
test eax, eax
jne 0x4038fe
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [esp + 0x258]
mov eax, ebx
push eax
push ecx
lea edx, [esp + 0x18]
push 0x104
push edx
inc ebx
call fcn.00403620
add esp, 0x10
cmp al, 1
je 0x403896
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret
Function at 0x404e50
Capabilities:
Shutdown system
Terminate process

Disassembly:
sub esp, 0xb0
lea eax, [esp]
push esi
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
lea ecx, [esp + 0xc]
push ecx
push str.SeShutdownPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov eax, dword [esp + 4]
push 0
push 0
lea edx, [esp + 0x10]
push 0
push edx
push 0
push eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x2c], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x404ee7
lea ecx, [esp + 0x34]
push 0x80
push ecx
push 6
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0
lea edx, [esp + 0x38]
push 0x4130cc
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0040700a
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
lea eax, [esp + 0x20]
push 0
push eax
call esi
test eax, eax
je 0x404f2d
push ebx
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
push edi
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x20]
push ecx
call edi
lea edx, [esp + 0x20]
push edx
call ebx
push 0
push 0
lea eax, [esp + 0x28]
push 0
push eax
call esi
test eax, eax
jne 0x404f0c
pop edi
pop ebx
pop esi
add esp, 0xb0
ret

Function at 0x4051d0
Capabilities:
Create process on windows
Create process suspended

Disassembly:
sub esp, 0x358
push ebx
push ebp
push esi
push edi
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x20]
mov ebx, dword [esp + 0x36c]
rep stosd dword es:[edi], eax
mov ecx, 0x80
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea edi, [ebx + 0x100]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], 0x44
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x64]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx + 0x200]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x10]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x68]
push ecx
push 0
push 0
push 0
push 1
push 0
push 0
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4052a6
push eax
lea eax, [esp + 0x26c]
push 0x100
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x300], ecx
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
mov dword [ebx + 0x304], edx
mov dword [ebx + 0x308], eax
mov dword [ebx + 0x30c], ecx
pop ebp
mov al, 1
pop ebx
add esp, 0x358
ret
Function at 0x405510
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x28
push esi
push edi
call fcn.00405980
mov eax, dword [str.48BC11BD_C4D7_466b_8A31_C6ABBAD47B3E]
xor edi, edi
push eax
push edi
push edi
mov dword [0x414268], edi
mov dword [0x41426c], edi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, edi
mov dword [0x414268], eax
je 0x4055cb
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0xb7
je 0x4055cb
push edi
push str.ConquerMD.dat
lea ecx, [esp + 0x1c]
call fcn.004025c0
push edi
lea ecx, [esp + 0x18]
call fcn.004026f0
test al, al
lea ecx, [esp + 0x14]
je 0x4055c6
call fcn.00402bd0
push edi
push eax
push edi
lea ecx, [esp + 0x14]
push 4
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x20], 0xc
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 1
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
cmp eax, edi
mov dword [0x41426c], eax
je 0x4055b5
call esi
cmp eax, 0xb7
jne 0x4055c2
mov eax, dword [0x41426c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x41426c], edi
lea ecx, [esp + 0x14]
call fcn.00402650
pop edi
pop esi
add esp, 0x28
ret
Function at 0x408bec
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411420
push 0x40bb24
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
and dword [ebp - 4], 0
mov eax, dword [0x41431c]
test eax, eax
je 0x408c34
mov dword [ebp - 4], 1
call eax
jmp 0x408c30
and dword [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
call 0x408c3d
jmp 0x40c8e5
push 0xa
call fcn.0040bc35
push 0x16
call fcn.0040e339
pop ecx
pop ecx
push 3
call fcn.0040701b

Function at 0x408c42
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411438
push 0x40bb24
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
and dword [ebp - 4], 0
mov eax, dword [fcn.00408bec]
test eax, eax
je 0x408c8a
mov dword [ebp - 4], 1
call eax
jmp 0x408c86
and dword [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
call 0x408c93
jmp fcn.00408bec

Function at 0x40bc35
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x413c98
cmp edx, dword [eax]
je 0x40bc57
add eax, 8
inc ecx
cmp eax, 0x413d28
jl 0x40bc48
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x413c98]
jne 0x40bd85
mov eax, dword [0x4142f8]
cmp eax, 1
je 0x40bd5f
test eax, eax
jne 0x40bc88
cmp dword [0x4134b4], 1
je 0x40bd5f
cmp edx, 0xfc
je 0x40bd85
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x40bcbf
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.00409d30
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.00407e70
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x40bd02
lea eax, [ebp - 0x1a4]
push eax
call fcn.00407e70
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x4117b4
push edi
call fcn.00406c10
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.00409d30
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.00409d40
lea eax, [ebp - 0xa0]
push 0x411794
push eax
call fcn.00409d40
push dword [esi + 0x413c9c]
lea eax, [ebp - 0xa0]
push eax
call fcn.00409d40
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.0040d9ab
add esp, 0x2c
pop edi
jmp 0x40bd85
lea eax, [ebp + 8]
lea esi, [esi + 0x413c9c]
push 0
push eax
push dword [esi]
call fcn.00407e70
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret
Function at 0x42e002
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x407ef8
nop
mov ecx, 0x75df5905
test eax, eax
nop
nop
nop
nop
nop
nop
nop
je 0x42e04e
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x42e024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42cd70
nop
nop
mov ecx, 0x77894331
test eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
je 0x42e084
nop
nop
nop
nop
xor dword [eax], ecx
nop
add eax, 4
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x42e06c
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x401219

Function at 0x42e001
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..text
nop
nop
push 4
nop
nop
nop
nop
pop edi
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x42e072
mov ebx, 0x407ef8
nop
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
xor edx, edx
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x2fc93ca1
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
loop 0x42e060
nop
nop
nop
nop
nop
mov eax, section..data
cmp eax, 0
nop
nop
nop
nop
je 0x42e0d2
nop
nop
nop
mov ebx, 0x42cd70
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x19ff4a5a
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
loop 0x42e0c0
popal
nop
nop
nop
nop
nop
jmp 0x401219
Function at 0x112b1804
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x112b181c
push edi
mov edi, 0x112cb214
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
je 0x112b183f
mov dword [ecx + 0x2c], eax
test eax, eax
je 0x112b183f
cmp dword [eax], 0
mov esi, eax
je 0x112b183f
push 1
call dword [esi + 0x20]
add esi, 0x24
cmp dword [esi], 0
jne 0x112b1832
mov esi, dword [0x112cb170]
cmp esi, dword [0x112cb174]
jb 0x112bab56
xor eax, eax
pop esi
pop ebp
ret 0xc
inc dword [eax]
je 0x112bad32
cmp dword [ebp + 0xc], 1
je 0x112bad32
cmp dword [ebp + 0xc], 8
jne 0x112bacfa
and byte [ebp - 0x6b8], 0
and byte [ebp - 0x6b7], 0
mov byte [ebp - 0x6b6], 0x9b
and byte [ebp - 0x6b5], 0
mov byte [ebp - 0x6b4], 0x33
mov byte [ebp - 0x6b3], 0x16
mov byte [ebp - 0x6b2], 0xd
mov byte [ebp - 0x6b1], 0x10
mov byte [ebp - 0x6b0], 1
adc byte [eax], al
add byte [edx + 8], ch
call fcn.112b9e74
js 0x112bac8a
jmp 0xcdd12da4
and byte [ebp - 0x230], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x22f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x12c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x12b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x654], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x653]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x504], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x503]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.112b9e52
or byte [eax + 0x2ff845c6], ah
mov byte [ebp - 0x24], 0x34
and byte [ebp - 0x36c], 0
and byte [ebp - 0x36b], 0
mov byte [ebp - 0x36a], 0xaa
and byte [ebp - 0x369], 0
mov byte [ebp - 0x368], 0x12
mov byte [ebp - 0x367], 0x30
mov byte [ebp - 0x366], 0x21
mov byte [ebp - 0x365], 6
mov byte [ebp - 0x364], 0x2c
mov byte [ebp - 0x363], 0x26
mov byte [ebp - 0x362], 0x21
mov byte [ebp - 0x361], 0x30
mov byte [ebp - 0x360], 0x38
mov byte [ebp - 0x35f], 0x11
mov byte [ebp - 0x35e], 0x3c
mov byte [ebp - 0x35d], 0x27
mov byte [ebp - 0x35c], 0x30
mov byte [ebp - 0x35b], 0x36
mov byte [ebp - 0x35a], 0x21
mov byte [ebp - 0x359], 0x3a
mov byte [ebp - 0x358], 0x27
mov byte [ebp - 0x357], 0x2c
mov byte [ebp - 0x356], 0x14
mov byte [ebp - 0x355], 0x55
lea eax, [ebp - 0x36c]
push eax
call fcn.112b9e84
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]

Function at 0x112b1b61
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edi, edi
push esi
mov esi, ecx
call fcn.112b185d
push esi
mov dword [esi], 0x2c
call fcn.112b1b86
test eax, eax
jl 0x112badac
mov eax, esi
pop esi
ret
test dword [esi - 0x55000004], edx
Function at 0x112b1bce
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x112cb010]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
call fcn.112b1ca1
mov eax, 0x112b0000
push 0x94
mov dword [esi + 8], eax
mov dword [esi + 4], eax
lea eax, [ebp - 0x98]
push 0
push eax
mov dword [esi], 0x3c
mov byte [esi + 0xc], 0
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x98], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x88], 2
jne 0x112b1c70
cmp dword [ebp - 0x94], 5
jb 0x112b1c43
mov byte [esi + 0xc], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x10], 0x800
mov dword [esi + 0x14], 0x112b1c8c
call fcn.112b1a6e
test eax, eax
jl 0x112badd3
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.112b13e5
leave
ret
cmp dword [ebp - 0x88], 1
je 0x112badbb
jmp 0x112b1c43
cwde
cld
invalid
inc dword [esi]

Function at 0x112b4790
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
movzx ecx, word [ebp + 8]
xor eax, eax
cmp ecx, 0x411
jne 0x112beb55
jmp 0x112beb13
cmp dword [ebp + 0xc], 0x3a
jne 0x112beb55
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
test al, 1
je 0x112beb44
mov ecx, 0x8000
test ax, cx
push 0
pop eax
sete al
lea eax, [eax + eax + 3]
jmp 0x112beb4d
movzx eax, ax
shr eax, 0xe
and eax, 2
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
xor eax, eax
inc eax
pop ebp
ret 0xc

Function at 0x112b4d46
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
xor eax, eax
dec ecx
je 0x112b4d5a
dec ecx
je 0x112b4d76
dec ecx
dec ecx
jne 0x112b4d93
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x112bb12f
jmp 0x112bb105
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
test al, 1
jne 0x112bb118
movzx eax, ax
shr eax, 0xe
and eax, 2
pop ebp
ret 8
invalid
invalid
add dword [eax], ebp
add byte [eax], al
or byte [ebp - 0x3337b], 0xff
push eax
call dword [ebp - 0x3c8]
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x66c], 0xffffffff
je 0x112bc007
push 0
push dword [ebp - 0x66c]
call dword [ebp - 0x33c]
mov dword [ebp - 0x378], eax
push dword [ebp - 0x378]
push 8
push dword [ebp - 0x674]
call dword [ebp - 0x67c]
mov dword [ebp - 4], eax
call fcn.112b9e74
std
inc edi
test dword [edi], esp
and byte [ebp - 0x6dc], 0
and byte [ebp - 0x6db], 0
mov byte [ebp - 0x6da], 0x2c
and byte [ebp - 0x6d9], 0
mov byte [ebp - 0x6d8], 0x81
mov byte [ebp - 0x6d7], 0xb6
mov byte [ebp - 0x6d6], 0xb2
mov byte [ebp - 0x6d5], 0xb7
mov byte [ebp - 0x6d4], 0x95
mov byte [ebp - 0x6d3], 0xba
mov byte [ebp - 0x6d2], 0xbf
mov byte [ebp - 0x6d1], 0xb6
mov byte [ebp - 0x6d0], 0xd3
call fcn.112b9e74
in al, 0xc9
fidivr word [ebp + ecx*4 - 0x6db7b]
call dword [eax - 0x18]
mov ebp, esp
invalid
pop edi
pop esi
pop ebx
leave
ret