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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x890080]
mov ecx, dword [0x88efd4]
shr eax, 3
sub esp, 0x408
test eax, eax
jbe 0x40341a
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EnumDateFormatsExA]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
lea ebx, [ebx]
cmp dword [0x890080], 0x959
jne 0x403400
push 0
call esi
push 0
push 0
call edi
push 0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
push 0x402628
push 0
call dword [sym.imp.KERNEL32.dll_SetFileShortNameW]
push 0
lea eax, [ebp - 0x408]
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LCMapStringA]
push 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0
call dword [sym.imp.KERNEL32.dll_HeapLock]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 4]
push ecx
call fcn.00403160
add dword [ebp - 4], 8
sub dword [ebp - 8], 1
jne 0x403380
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4045a0
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4700c8]
jne 0x4045aa
repz ret
jmp fcn.00406d0e

Function at 0x40692f
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.00404621
and dword [ebp - 4], 0
cmp dword [0x471a10], 0
mov ebx, eax
jne 0x4069e0
push 0x4019f8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x406a91
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x4019ec
push edi
call esi
test eax, eax
je 0x406a91
push eax
call fcn.004045af
mov dword [esp], 0x4019dc
push edi
mov dword [0x471a10], eax
call esi
push eax
call fcn.004045af
mov dword [esp], 0x4019c8
push edi
mov dword [0x471a14], eax
call esi
push eax
call fcn.004045af
mov dword [esp], 0x4019ac
push edi
mov dword [0x471a18], eax
call esi
push eax
call fcn.004045af
pop ecx
mov dword [0x471a20], eax
test eax, eax
je 0x4069e0
push 0x401994
push edi
call esi
push eax
call fcn.004045af
pop ecx
mov dword [0x471a1c], eax
mov eax, dword [0x471a1c]
cmp eax, ebx
je 0x406a38
cmp dword [0x471a20], ebx
je 0x406a38
push eax
call fcn.0040462a
push dword [0x471a20]
mov esi, eax
call fcn.0040462a
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x406a38
test edi, edi
je 0x406a38
call esi
test eax, eax
je 0x406a2f
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x406a2f
test byte [ebp - 0xc], 1
jne 0x406a38
or dword [ebp + 0x10], 0x200000
jmp 0x406a71
mov eax, dword [0x471a14]
cmp eax, ebx
je 0x406a71
push eax
call fcn.0040462a
pop ecx
test eax, eax
je 0x406a71
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x406a71
mov eax, dword [0x471a18]
cmp eax, ebx
je 0x406a71
push eax
call fcn.0040462a
pop ecx
test eax, eax
je 0x406a71
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x471a10]
call fcn.0040462a
pop ecx
test eax, eax
je 0x406a91
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x406a93
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x4099a4
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x409a77
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x409a90
push ebx
push 0x409a9c
push esi
lea eax, [ebp - 4]
mov edx, 4
call fcn.004033b4
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x44
call fcn.0040277c
mov dword [ebp - 0x48], 0x44
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00403414
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
jne 0x409a24
mov al, 0x62
call fcn.00409648
mov eax, dword [ebp - 0x54]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.00409978
push 0xff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
dec eax
je 0x409a2d
call fcn.00409978
push edi
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_GetExitCodeProcess
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409a7e
lea eax, [ebp - 4]
call fcn.00403198
ret

Function at 0x409b30
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffbc
mov edi, eax
lea esi, [esp + 0x28]
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_GetSystemInfo
mov ebx, edi
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409be4
jmp 0x409bd9
cmp dword [esi + 0x10], 0x1000
jne 0x409bc5
test byte [esi + 0x15], 1
jne 0x409bc5
xor ebx, ebx
mov eax, dword [esi + 0x14]
cmp eax, 1
je 0x409b84
cmp eax, 2
je 0x409b84
cmp eax, 0x10
je 0x409b84
cmp eax, 0x20
jne 0x409b99
push esp
push 0x40
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x409b99
mov bl, 1
xor ebp, ebp
jmp 0x409baa
mov eax, dword [esi]
add eax, ebp
call fcn.00409b28
add ebp, dword [esp + 8]
cmp ebp, dword [esi + 0xc]
jb 0x409b9d
test bl, bl
je 0x409bc5
push esp
mov eax, dword [esp + 4]
push eax
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
mov eax, dword [esi]
add eax, dword [esi + 0xc]
mov ebx, eax
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409be4
mov eax, dword [esi + 4]
cmp eax, edi
je 0x409b5c
add esp, 0x44
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x40893c
Capabilities:
Encode data using xor

Disassembly:
sub esp, 4
mov dword [esp], 0x4085d8
pop ebx
or edi, edi
call fcn.0040896d
dec eax
sub eax, eax
xor dword [ecx], ebx
sub eax, 0xd98e9070
inc ecx
push 0xd8210588
pop eax
cmp ecx, esi
jne fcn.0040893c
sub edi, 0x30464746
and eax, edi
ret
Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x40de38
nop
mov ecx, 0x5f4f23b7
nop
nop
nop
nop
nop
test eax, eax
je 0x43304e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x433024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x4304d8
nop
mov ecx, 0x2429300f
nop
nop
nop
nop
nop
test eax, eax
nop
je 0x433084
nop
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43306c
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x431219

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

Disassembly:
pushal
nop
call 0x43000c
nop
nop
nop
nop
nop
pop eax
add eax, 0x403d6f
nop
sub eax, 0x403d15
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
xor dword [ebx], edx
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x430030
nop
nop
nop
nop
add eax, 0xc
cmp dword [eax], 0
nop
nop
nop
nop
nop
jne 0x43001e
nop
nop
nop
nop
nop
nop
nop
popal
jmp fcn.00401219
Function at 0x1371abe
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, 0x5a4d
push ebx
push esi
mov esi, edx
push edi
mov edi, ecx
cmp word [esi], ax
jne 0x1371c21
mov ebx, dword [esi + 0x3c]
add ebx, esi
cmp dword [ebx], 0x4550
jne 0x1371c21
mov eax, dword [edi + 0x688]
test eax, eax
je 0x1371c21
lea ecx, [ebp - 4]
push ecx
lea ecx, [ebp - 8]
push ecx
push 0xffffffffffffffff
call eax
test eax, eax
je 0x1371c21
mov eax, 0x1c0
cmp word [ebp - 4], ax
je 0x1371b26
mov eax, 0xaa64
cmp word [ebp - 4], ax
jne 0x1371c21
cmp dword [ebx + 8], 0x27debf2c
jne 0x1371b51
push 0x4b2e8f83
push 0x4b2e8de3
push 0x4b280000
mov edx, esi
mov ecx, edi
call fcn.01371a38
add esp, 0xc
xor eax, eax
jmp 0x1371c26
cmp dword [ebx + 8], 0x88330560
jne 0x1371b66
push 0x4b3fabde
push 0x4b3fa92b
jmp 0x1371b39
cmp dword [ebx + 8], 0xe892dd44
jne 0x1371b7b
push 0x4b406b8e
push 0x4b4068db
jmp 0x1371b39
and dword [ebp - 0xc], 0
lea edx, [ebp - 0xc]
push 0
push 1
push ecx
push 0x2bcd03a7
push esi
mov ecx, edi
call fcn.01372131
test eax, eax
js 0x1371c26
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x1371c21
lea eax, [ebx - 0x140]
mov dword [ebp - 0x1c], 0x3f3f3fe8
push 8
lea ecx, [ebp - 0x1c]
mov word [ebp - 0x18], 0x843f
push ecx
mov edx, 0x140
mov byte [ebp - 0x16], 0xc0
mov ecx, eax
mov dword [ebp - 0x24], 0x1b8
mov word [ebp - 0x20], 0x8400
mov byte [ebp - 0x1e], 0xc0
mov dword [ebp - 0x10], eax
call fcn.013726c9
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1371bf1
mov ecx, dword [ebp - 0x10]
mov edx, 0x140
jmp 0x1371c0e
push 7
lea eax, [ebp - 0x1c]
mov edx, 0x200
push eax
mov ecx, ebx
call fcn.013726c9
test eax, eax
jne 0x1371c2b
mov edx, 0x200
mov ecx, ebx
push 8
lea eax, [ebp - 0x24]
push eax
call fcn.013726c9
test eax, eax
jne 0x1371b4a
mov eax, 0xe0010001
pop edi
pop esi
pop ebx
leave
ret
push eax
push dword [ebp - 0x14]
push esi
jmp 0x1371b3e

Function at 0x1372551
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x137256f
mov eax, dword [ecx + 0x3c]
cmp eax, 0x400
jg 0x137256f
add eax, ecx
cmp dword [eax], 0x4550
je 0x1372571
xor eax, eax
ret
Function at 0x1375924
Capabilities:
Encode data using xor
Manually build aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x808
mov edx, 1
push ebx
push esi
push edi
xor esi, esi
mov eax, edx
mov dword [ebp + esi*4 - 0x808], edx
and al, 0x80
mov dword [ebp + edx*4 - 0x408], esi
movzx ecx, al
lea eax, [edx + edx]
neg ecx
sbb ecx, ecx
inc esi
and ecx, 0x1b
xor ecx, eax
xor ecx, edx
movzx edx, cl
cmp esi, 0x100
jl 0x1375937
mov esi, 1
mov edx, 0x137cf04
nop dword [eax]
mov eax, esi
mov dword [edx], esi
and al, 0x80
movzx ecx, al
lea eax, [esi + esi]
neg ecx
sbb ecx, ecx
add edx, 4
and ecx, 0x1b
xor ecx, eax
movzx esi, cl
cmp edx, 0x137cf2c
jl 0x1375974
mov eax, 1
mov byte [0x137ad04], 0x63
mov byte [0x137be67], 0
mov dword [ebp - 4], eax
nop dword [eax]
mov ecx, dword [ebp + eax*4 - 0x408]
lea eax, [ebp - 0x40c]
shl ecx, 2
sub eax, ecx
mov ebx, dword [eax]
mov ecx, ebx
sar ecx, 7
lea eax, [ebx + ebx]
or ecx, eax
movzx eax, cl
xor ebx, eax
mov ecx, eax
shr ecx, 7
add eax, eax
or ecx, eax
movzx eax, cl
xor ebx, eax
mov ecx, eax
add eax, eax
shr ecx, 7
or ecx, eax
movzx edx, cl
mov ecx, edx
shr ecx, 7
lea eax, [edx + edx]
or ecx, eax
xor ecx, 0x63
movzx eax, cl
xor eax, edx
xor ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x137ad04], bl
mov byte [ebx + 0x137be04], al
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x100
jl 0x13759b4
mov ebx, 0xff
xor esi, esi
mov dword [ebp - 8], ebx
movzx edx, byte [esi + 0x137ad04]
mov eax, edx
and al, 0x80
movzx ecx, al
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x1b
xor ecx, eax
movzx eax, cl
mov ecx, eax
xor ecx, edx
shl ecx, 8
xor ecx, edx
shl ecx, 8
xor ecx, edx
shl ecx, 8
xor ecx, eax
mov dword [esi*4 + 0x137ae04], ecx
rol ecx, 8
mov dword [esi*4 + 0x137b204], ecx
rol ecx, 8
mov dword [esi*4 + 0x137b604], ecx
rol ecx, 8
mov dword [esi*4 + 0x137ba04], ecx
movzx ecx, byte [esi + 0x137be04]
test ecx, ecx
je 0x1375ae3
mov ecx, dword [ebp + ecx*4 - 0x408]
mov eax, dword [ebp - 0x3d0]
add eax, ecx
cdq
idiv ebx
mov eax, dword [ebp - 0x3e4]
add eax, ecx
mov edi, dword [ebp + edx*4 - 0x808]
cdq
idiv ebx
mov eax, dword [ebp - 0x3d4]
add eax, ecx
mov ebx, dword [ebp + edx*4 - 0x808]
cdq
idiv dword [ebp - 8]
mov eax, dword [ebp + edx*4 - 0x808]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x3dc]
add eax, ecx
mov ecx, 0xff
cdq
idiv ecx
mov eax, dword [ebp + edx*4 - 0x808]
jmp 0x1375aec
xor ebx, ebx
xor edi, edi
mov dword [ebp - 4], ebx
xor eax, eax
shl eax, 8
xor eax, dword [ebp - 4]
shl eax, 8
xor eax, ebx
mov ebx, 0xff
shl eax, 8
xor eax, edi
mov dword [esi*4 + 0x137bf04], eax
rol eax, 8
mov dword [esi*4 + 0x137c304], eax
rol eax, 8
mov dword [esi*4 + 0x137c704], eax
rol eax, 8
mov dword [esi*4 + 0x137cb04], eax
inc esi
cmp esi, 0x100
jl 0x1375a29
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1375b44
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x18
test al, 0xf
je 0x1375b5a
mov eax, 0xffffffde
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x1375cae
cmp dword [ebp + 0xc], 0
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
jne 0x1375bf6
mov ebx, dword [ebp + 0x18]
lea edx, [ecx + 0xf]
dec eax
mov dword [ebp - 8], edx
mov edi, ecx
shr eax, 4
sub edi, esi
inc eax
mov dword [ebp + 0x10], eax
movups xmm0, xmmword [ebx]
push esi
push ebx
push dword [ebp + 8]
movups xmmword [ebp - 0x18], xmm0
call fcn.01376e74
add esp, 0xc
cmp esi, dword [ebp - 8]
ja 0x1375bc7
lea eax, [esi + 0xf]
cmp eax, dword [ebp + 0x14]
jb 0x1375bc7
mov ecx, esi
mov edx, 0x10
nop
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub edx, 1
jne 0x1375bb4
mov eax, dword [ebp + 0x14]
jmp 0x1375bd7
mov eax, dword [ebp + 0x14]
movups xmm0, xmmword [esi]
movups xmm1, xmmword [eax]
pxor xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm0, xmmword [ebp - 0x18]
add esi, 0x10
add ebx, 0x10
sub edi, 0x10
sub dword [ebp + 0x10], 1
movups xmmword [eax], xmm0
jne 0x1375b8a
pop edi
pop esi
pop ebx
xor eax, eax
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x18]
lea edx, [eax - 1]
mov ebx, ecx
shr edx, 4
sub ebx, edi
mov dword [ebp - 4], esi
inc edx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 8], edx
mov edx, dword [ebp + 8]
nop dword [eax]
lea eax, [edi + 0xf]
cmp esi, eax
ja 0x1375c22
lea eax, [esi + 0xf]
cmp eax, edi
jae 0x1375c30
lea eax, [ecx + 0xf]
cmp esi, eax
ja 0x1375c61
lea eax, [esi + 0xf]
cmp eax, ecx
jb 0x1375c61
mov ebx, esi
mov ecx, edi
mov esi, dword [ebp + 0x10]
sub ebx, edi
mov edx, 0x10
nop word [eax + eax]
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
mov byte [ebx + ecx - 1], al
sub edx, 1
jne 0x1375c44
mov esi, dword [ebp - 4]
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
jmp 0x1375c6e
movups xmm1, xmmword [ecx]
movups xmm0, xmmword [edi]
pxor xmm1, xmm0
movups xmmword [esi], xmm1
cmp dword [ebp + 0xc], 1
push esi
push esi
push edx
jne 0x1375c7e
call fcn.01377404
jmp 0x1375c83
call fcn.01376e74
movups xmm0, xmmword [esi]
mov ecx, dword [ebp + 0x14]
sub ebx, 0x10
mov edx, dword [ebp + 8]
add esi, 0x10
add esp, 0xc
mov dword [ebp + 0x10], ebx
add edi, 0x10
mov dword [ebp - 4], esi
sub dword [ebp - 8], 1
movups xmmword [ecx], xmm0
jne 0x1375c14
pop edi
pop esi
pop ebx
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x1375cf4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
push esi
push edi
push dword [ebp + 0x10]
xor eax, eax
lea edi, [ebp - 0x118]
push dword [ebp + 0xc]
mov ecx, 0x46
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x118]
push eax
lea esi, [edi + 8]
mov dword [edi + 4], esi
call fcn.01375ef4
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
jne 0x1375ee8
mov ecx, dword [ebp - 0x118]
mov dword [edi], ecx
shl ecx, 4
add ecx, dword [ebp - 0x114]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
sub ecx, 0x10
mov dword [esi + 0xc], eax
add esi, 0x10
mov edi, dword [edi]
dec edi
test edi, edi
jle 0x1375ecf
push ebx
nop dword [eax]
movzx eax, byte [ecx + 3]
dec edi
movzx edx, byte [eax + 0x137ad04]
movzx eax, byte [ecx + 2]
mov edx, dword [edx*4 + 0x137cb04]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137c704]
movzx eax, byte [ecx + 1]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137c304]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137bf04]
mov dword [esi], edx
mov ebx, dword [ecx + 4]
mov eax, ebx
shr eax, 0x10
movzx eax, al
movzx edx, byte [eax + 0x137ad04]
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [edx*4 + 0x137c704]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137c304]
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137cb04]
movzx eax, bl
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137bf04]
mov dword [esi + 4], edx
mov ebx, dword [ecx + 8]
mov eax, ebx
shr eax, 0x10
movzx eax, al
movzx edx, byte [eax + 0x137ad04]
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [edx*4 + 0x137c704]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137c304]
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137cb04]
movzx eax, bl
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137bf04]
mov dword [esi + 8], edx
mov ebx, dword [ecx + 0xc]
mov eax, ebx
shr eax, 0x10
sub ecx, 0x10
movzx eax, al
movzx edx, byte [eax + 0x137ad04]
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [edx*4 + 0x137c704]
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137c304]
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137cb04]
movzx eax, bl
movzx eax, byte [eax + 0x137ad04]
xor edx, dword [eax*4 + 0x137bf04]
mov dword [esi + 0xc], edx
add esi, 0x10
test edi, edi
jg 0x1375d74
pop ebx
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1377d14
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 0x34], 0x1d1a
mov edx, 0x1d7e
mov word [ebp - 0x30], dx
mov eax, 0x1d78
mov word [ebp - 0x2e], ax
mov ecx, 0x1d76
mov eax, 0x1d7d
mov word [ebp - 0x2c], ax
mov eax, 0x1d72
mov word [ebp - 0x2a], ax
mov eax, 0x1d7f
mov word [ebp - 0x28], ax
mov eax, 0x1d6a
mov word [ebp - 0x26], cx
mov word [ebp - 0x24], ax
mov eax, 0x1d34
mov word [ebp - 0x22], ax
xor eax, eax
mov word [ebp - 0x20], dx
xor edx, edx
mov word [ebp - 0x1e], cx
mov word [ebp - 0x1c], cx
mov word [ebp - 0x1a], ax
mov ax, word [ebp - 0x30]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x30]
movzx ecx, ax
movzx eax, word [ebp - 0x34]
xor ecx, eax
mov word [ebp + edx*2 - 0x30], cx
inc edx
cmp edx, 0xb
jb 0x1377d84
push esi
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov word [ebp - 0x1a], ax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [edi + 0x698]
call eax
mov esi, eax
test esi, esi
jne 0x1377dcb
call dword [0x139bfb4]
pop edi
or eax, 0xe0ff0000
pop esi
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x18], 0x65
mov eax, dword [ebp - 0x18]
xor eax, 0x4d
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x18]
inc al
xor eax, 0x69
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x18]
add al, 2
xor eax, 0x6e
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x18]
add al, 3
xor eax, 0x69
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x18]
add al, 4
xor eax, 0x44
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x18]
add al, 5
xor eax, 0x75
mov byte [ebp - 0xf], al
mov eax, dword [ebp - 0x18]
add al, 6
xor eax, 0x6d
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 0x18]
add al, 7
xor eax, 0x70
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 0x18]
add al, 8
xor eax, 0x57
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x18]
add al, 9
xor eax, 0x72
mov byte [ebp - 0xb], al
mov eax, dword [ebp - 0x18]
add al, 0xa
xor eax, 0x69
mov byte [ebp - 0xa], al
mov eax, dword [ebp - 0x18]
add al, 0xb
xor eax, 0x74
mov byte [ebp - 9], al
mov eax, dword [ebp - 0x18]
add al, 0xc
xor eax, 0x65
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x18]
add al, 0xd
xor eax, 0x44
mov byte [ebp - 7], al
mov eax, dword [ebp - 0x18]
add al, 0xe
xor eax, 0x75
mov byte [ebp - 6], al
mov eax, dword [ebp - 0x18]
add al, 0xf
xor eax, 0x6d
mov byte [ebp - 5], al
mov eax, dword [ebp - 0x18]
add al, 0x10
mov byte [ebp - 3], 0
xor eax, 0x70
xor edx, edx
mov byte [ebp - 4], al
mov al, byte [ebp - 0x14]
mov al, byte [ebp + edx - 0x14]
mov ecx, dword [ebp - 0x18]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x14], cl
inc edx
cmp edx, 0x11
jb 0x1377e94
lea eax, [ebp - 0x14]
mov byte [ebp - 3], 0
push eax
mov eax, dword [edi + 0x6a0]
push esi
call eax
mov ecx, eax
test ecx, ecx
je 0x1377dba
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax], esi
mov eax, dword [ebp + 0x10]
pop esi
mov dword [eax], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x1379804
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x780], 0xffffffff
je 0x1379900
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x414]
push eax
mov eax, dword [esi + 0x6c0]
call eax
mov dword [ebp - 0x14], 0x56
xor edx, edx
mov byte [ebp - 0x10], 0x73
mov byte [ebp - 0xf], 0x26
mov byte [ebp - 0xe], 0x78
mov byte [ebp - 0xd], 0x73
mov byte [ebp - 0xc], 0x66
mov byte [ebp - 0xb], 0x62
mov byte [ebp - 0xa], 0x2e
mov byte [ebp - 9], 0x68
mov byte [ebp - 8], 0x76
mov byte [ebp - 7], 0x73
mov byte [ebp - 6], 0x3e
mov byte [ebp - 5], 0x25
mov byte [ebp - 4], 0x5b
mov byte [ebp - 3], 0x5c
mov al, byte [ebp - 0x10]
mov byte [ebp - 2], 0
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x10]
movsx ecx, byte [ebp - 0x14]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x10], al
inc edx
cmp edx, 0xe
jb 0x1379884
lea eax, [ebp - 0x414]
mov byte [ebp - 2], 0
push eax
mov eax, dword [esi + 0x740]
call eax
push eax
push dword [esi + 0x700]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x214]
push eax
mov eax, dword [esi + 0x6c8]
call eax
add esp, 0x14
lea eax, [ebp - 0x214]
cmp byte [ebp - 0x214], 0
je 0x13798e0
inc eax
cmp byte [eax], 0
jne 0x13798da
push 0
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x214]
sub eax, ecx
push eax
mov eax, ecx
push eax
push dword [esi + 0x780]
mov eax, dword [esi + 0x6bc]
call eax
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x1379914
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x137cf64]
sub esp, 0x18
cmp eax, 0x1ff
jae 0x1379938
inc eax
mov dword [0x137cf64], eax
mov byte [eax + 0x137cf68], 0x11
mov eax, dword [0x137cf64]
cmp dword [0x137cf4c], 0
jne 0x13799f9
push 1
push 0x137cf44
call fcn.01378614
add esp, 8
test eax, eax
js 0x13799f4
cmp dword [0x137d6c4], 0xffffffff
je 0x13799f4
mov dword [ebp - 0x18], 5
xor edx, edx
mov byte [ebp - 0x14], 0x55
mov byte [ebp - 0x13], 0x57
mov byte [ebp - 0x12], 0x4a
mov byte [ebp - 0x11], 0x46
mov byte [ebp - 0x10], 0x40
mov byte [ebp - 0xf], 0x56
mov byte [ebp - 0xe], 0x56
mov byte [ebp - 0xd], 0x25
mov byte [ebp - 0xc], 0x46
mov byte [ebp - 0xb], 0x4a
mov byte [ebp - 0xa], 0x48
mov byte [ebp - 9], 0x55
mov byte [ebp - 8], 0x49
mov byte [ebp - 7], 0x40
mov byte [ebp - 6], 0x51
mov byte [ebp - 5], 0x40
mov byte [ebp - 4], 0x25
mov byte [ebp - 3], 0x20
mov byte [ebp - 2], 0x61
mov al, byte [ebp - 0x14]
mov byte [ebp - 1], 0
mov al, byte [ebp + edx - 0x14]
movsx ecx, byte [ebp - 0x18]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x14], al
inc edx
cmp edx, 0x13
jb 0x13799c5
push dword [ebp + 8]
lea eax, [ebp - 0x14]
mov byte [ebp - 1], 0
push eax
push 0x137cf44
call fcn.01379804
add esp, 0xc
mov eax, dword [0x137cf64]
mov ecx, dword [0x137d640]
test ecx, ecx
je 0x1379a1e
push ecx
call dword [0x137d5ec]
dec dword [0x137cf64]
mov dword [0x137d640], 0
mov esp, ebp
pop ebp
ret
dec eax
mov dword [0x137cf64], eax
mov esp, ebp
pop ebp
ret