joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100d5c40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x650
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x64c], eax
mov eax, dword [esp + 0x65c]
mov ecx, dword [esp + 0x654]
push ebp
mov dword [esp + 0xc], eax
mov eax, 0x5c
push edi
mov word [esp + 0x42c], ax
mov word [esp + 0x42e], ax
mov word [esp + 0x432], ax
mov eax, 0x69
push ecx
lea edx, [esp + 0x430]
mov word [esp + 0x440], ax
mov word [esp + 0x44c], ax
push edx
lea eax, [esp + 0x45c]
xor ebp, ebp
push eax
mov word [esp + 0x43c], 0x2e
mov word [esp + 0x440], 0x50
mov word [esp + 0x442], 0x68
mov word [esp + 0x444], 0x79
mov word [esp + 0x446], 0x73
mov word [esp + 0x44a], 0x63
mov word [esp + 0x44c], 0x61
mov word [esp + 0x44e], 0x6c
mov word [esp + 0x450], 0x44
mov word [esp + 0x452], 0x72
mov word [esp + 0x456], 0x76
mov word [esp + 0x458], 0x65
mov word [esp + 0x45a], 0x25
mov word [esp + 0x45c], 0x64
mov word [esp + 0x45e], bp
call fcn.10028400
add esp, 0xc
push ebp
push ebp
push 3
push ebp
push 7
push 0xc0000000
lea ecx, [esp + 0x46c]
push ecx
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x100d5e67
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_DeviceIoControl]
push ebp
xor eax, eax
lea edx, [esp + 0x14]
push edx
push 0x18
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x24]
push eax
push ebp
push ebp
push 0x74080
push edi
mov dword [esp + 0x30], ebp
call ebx
test eax, eax
je 0x100d5e4d
push esi
push 0x221
call fcn.100ff4c8
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x100d5e2b
push ebp
lea ecx, [esp + 0x14]
push ecx
push 0x221
push esi
push 0x21
push esi
push 0x7c088
push edi
mov byte [esi + 0xa], 0xec
mov dword [esp + 0x30], ebp
call ebx
test eax, eax
je 0x100d5e22
xor eax, eax
jmp 0x100d5df0
movzx edx, word [esi + eax*2 + 0x10]
mov dword [esp + eax*4 + 0x34], edx
add eax, 1
cmp eax, 0x100
jl 0x100d5df0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x668]
push eax
lea ecx, [esp + 0x38]
push ecx
push edx
call fcn.100d5770
add esp, 0xc
mov ebp, 1
push esi
call fcn.100ff58b
add esp, 4
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
pop esi
pop ebx
pop edi
mov eax, ebp
pop ebp
mov ecx, dword [esp + 0x64c]
xor ecx, esp
call fcn.100ffa66
add esp, 0x650
ret
pop ebx
pop edi
mov eax, ebp
pop ebp
mov ecx, dword [esp + 0x64c]
xor ecx, esp
call fcn.100ffa66
add esp, 0x650
ret
mov ecx, dword [esp + 0x654]
pop edi
mov eax, ebp
pop ebp
xor ecx, esp
call fcn.100ffa66
add esp, 0x650
ret
Function at 0x100d5e80
Capabilities:
Contain obfuscated stackstrings
Get storage device properties

Disassembly:
mov eax, 0x314c
call fcn.101004a0
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x3148], eax
push ebx
push ebp
mov eax, 0x5c
mov word [esp + 0x18], ax
mov word [esp + 0x1a], ax
mov word [esp + 0x1e], ax
push esi
mov eax, 0x69
push edi
mov edi, dword [esp + 0x3168]
mov word [esp + 0x30], ax
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x3160]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x50]
xor ebx, ebx
push edx
xor ebp, ebp
mov word [esp + 0x30], 0x2e
mov word [esp + 0x34], 0x50
mov word [esp + 0x36], 0x68
mov word [esp + 0x38], 0x79
mov word [esp + 0x3a], 0x73
mov word [esp + 0x3e], 0x63
mov word [esp + 0x40], 0x61
mov word [esp + 0x42], 0x6c
mov word [esp + 0x44], 0x44
mov word [esp + 0x46], 0x72
mov word [esp + 0x4a], 0x76
mov word [esp + 0x4c], 0x65
mov word [esp + 0x4e], 0x25
mov word [esp + 0x50], 0x64
mov word [esp + 0x52], bx
call fcn.10028400
add esp, 0xc
push ebx
push ebx
push 3
push ebx
push 3
push ebx
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x100d60ec
xor eax, eax
push 0x2710
lea ecx, [esp + 0xa4c]
push ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
push ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.101004d0
add esp, 0xc
push ebx
lea edx, [esp + 0x14]
push edx
push 0x2710
lea eax, [esp + 0xa54]
push eax
push 0xc
lea ecx, [esp + 0x28]
push ecx
push 0x2d1400
push esi
call dword [sym.imp.KERNEL32.DLL_DeviceIoControl]
test eax, eax
je 0x100d60e5
mov ecx, dword [esp + 0xa60]
lea edx, [esp + 0x648]
push edx
lea eax, [esp + 0xa4c]
push eax
push ebx
push ecx
call fcn.100d5850
add esp, 0x10
cmp byte [edi], bl
jne 0x100d60ae
movsx dx, byte [esp + 0x648]
push edx
call fcn.101046f8
add esp, 4
test eax, eax
jne 0x100d6020
movsx ax, byte [esp + 0x65b]
push eax
call fcn.101046f8
add esp, 4
test eax, eax
je 0x100d60ae
mov eax, dword [esp + 0x3164]
cmp eax, ebx
jne 0x100d6043
lea ecx, [esp + 0x648]
push ecx
push 0x400
push edi
call fcn.101002fa
add esp, 0xc
jmp 0x100d60a9
cmp eax, 1
jne 0x100d6070
mov ecx, dword [esp + 0xa58]
lea edx, [esp + 0x248]
push edx
lea eax, [esp + 0xa4c]
push eax
push ebx
push ecx
call fcn.100d5850
lea edx, [esp + 0x258]
push edx
jmp 0x100d609b
cmp eax, 2
jne 0x100d60a9
mov edx, dword [esp + 0xa5c]
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0xa4c]
push ecx
push ebx
push edx
call fcn.100d5850
lea eax, [esp + 0x258]
push eax
push 0x400
push edi
call fcn.101002fa
add esp, 0x1c
mov ebp, 1
push 0x2710
lea ecx, [esp + 0xa4c]
push ebx
push ecx
call fcn.101004d0
add esp, 0xc
push ebx
lea edx, [esp + 0x14]
push edx
push 0x2710
lea eax, [esp + 0xa54]
push eax
push ebx
push ebx
push 0x700a0
push esi
call dword [sym.imp.KERNEL32.DLL_DeviceIoControl]
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [esp + 0x3158]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.100ffa66
add esp, 0x314c
ret
Function at 0x100d6550
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10167260
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x101b7324]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push edi
mov esi, dword [ebp + 8]
push esi
mov ebx, dword [sym.imp.KERNEL32.DLL_VirtualProtect]
call ebx
test eax, eax
je 0x100d65bd
push edi
mov ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.101017f0
add esp, 0xc
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x18]
push eax
push edi
push esi
call ebx
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100d6900
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x28]
push ebp
push esi
mov esi, dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x30]
mov ecx, edi
add ecx, dword [esp + 0x38]
mov eax, edx
adc eax, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
cmp eax, esi
mov dword [esp + 0x3c], eax
jb 0x100d693e
ja 0x100d6932
cmp ecx, dword [esp + 0x4c]
jbe 0x100d693e
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov ebp, dword [esp + 0x2c]
cmp ebp, edx
jb 0x100d6a6f
mov esi, dword [esp + 0x28]
ja 0x100d6958
cmp esi, edi
jb 0x100d6a6f
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
cdq
sub ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
sbb eax, edx
cmp ebp, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
ja 0x100d6a6f
jb 0x100d698b
cmp esi, ecx
jae 0x100d6a6f
push ebx
lea esp, [esp]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
sub ebx, esi
sbb edi, ebp
cmp edi, eax
mov dword [esp + 0x14], edi
jb 0x100d69ba
ja 0x100d69b0
cmp ebx, dword [esp + 0x48]
jbe 0x100d69ba
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov edi, eax
mov edx, dword [esp + 0x44]
push ebx
push ebp
push esi
call fcn.100d64d0
add esp, 0xc
test eax, eax
je 0x100d6a48
mov edi, dword [esp + 0x44]
mov eax, ebx
sub eax, dword [esp + 0x58]
add eax, edi
cmp edi, eax
mov dword [esp + 0x34], eax
jae 0x100d6a44
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
push edi
call dword [esp + 0x8c]
add esp, 0x14
cmp eax, 1
jne 0x100d6a3a
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
xor eax, eax
xor ecx, ecx
mov edx, edi
sub edx, dword [esp + 0x50]
sbb eax, ecx
mov ecx, dword [esp + 0x74]
add edx, esi
mov esi, dword [esp + 0x78]
adc eax, ebp
push eax
push edx
call fcn.100d6830
mov esi, dword [esp + 0x40]
add esp, 0x14
add edi, dword [esp + 0x74]
cmp edi, dword [esp + 0x34]
jb 0x100d69e1
mov edi, dword [esp + 0x14]
sub ebx, dword [esp + 0x18]
sbb edi, dword [esp + 0x1c]
add esi, ebx
adc ebp, edi
cmp ebp, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
jb 0x100d6990
ja 0x100d6a6e
cmp esi, dword [esp + 0x20]
jb 0x100d6990
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x18
ret
Function at 0x100da470
Capabilities:
Read .ini file

Disassembly:
push 0
push 0x102cda7c
call fcn.100439a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esp, 8
push eax
mov eax, dword [esp + 8]
push 0x2ee0
push ecx
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
push 0x102cda7c
call fcn.10043a30
pop ecx
ret 0x10
Function at 0x100da9e0
Capabilities:
Read .ini file

Disassembly:
push esi
push 0
push 0x102cda7c
call fcn.100439a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add esp, 8
push eax
push 0x2ee0
push ecx
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileSectionNamesA]
push 0x102cda7c
mov esi, eax
call fcn.10043a30
add esp, 4
lea eax, [esi - 1]
pop esi
ret 8
Function at 0x100dac70
Capabilities:
Read .ini file

Disassembly:
push esi
push 0
push 0x102cda7c
call fcn.100439a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esp, 8
push eax
push 0xea60
push ecx
push edx
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileSectionA]
push 0x102cda7c
mov esi, eax
call fcn.10043a30
add esp, 4
mov eax, esi
pop esi
ret 0xc
Function at 0x100dbad0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1019c980
push 0x100fffa0
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x101b7324]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, edx
push 0x1c
lea eax, [ebp - 0x34]
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_VirtualQuery]
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x30]
cmp word [ecx], 0x5a4d
jne 0x100dbb6f
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x100dbb6f
mov edx, dword [eax + 0xd8]
lea edi, [edx + ecx]
cmp esi, edi
jb 0x100dbb6f
mov eax, dword [eax + 0xdc]
add eax, edx
add eax, ecx
cmp esi, eax
jae 0x100dbb6f
mov dword [ebp - 4], 0xfffffffe
mov al, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 0xfffffffe
xor al, al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x100dc0d0
Capabilities:
Resume thread

Disassembly:
push ecx
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x102cf19c], eax
je 0x100dc0e6
mov eax, 0x10dd
pop ecx
ret
push ebp
push esi
mov esi, dword [0x102cf1ac]
xor ebp, ebp
cmp esi, ebp
push edi
je 0x100dc15c
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0xc]
push eax
movzx eax, byte [edx + 0x17]
push ecx
mov ecx, dword [esi + 0xc]
push eax
push ecx
call fcn.100b1e60
cmp dword [esi + 4], ebp
jne 0x100dc14b
mov eax, dword [esi + 0x10]
cmp eax, ebp
je 0x100dc14b
mov edx, eax
and edx, 0xffff0000
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 0x18], ecx
mov dword [edx + 8], eax
mov dword [esi + 0x10], ebp
mov edi, dword [esi]
push esi
call fcn.100ee438
add esp, 4
cmp edi, ebp
mov esi, edi
jne 0x100dc0f5
mov dword [0x102cf1ac], ebp
call fcn.100dbcd0
mov esi, dword [0x102cf1a8]
cmp esi, ebp
je 0x100dc190
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
mov edx, dword [esi + 4]
push edx
call ebx
mov edi, dword [esi]
push esi
call fcn.100ee438
add esp, 4
cmp edi, ebp
mov esi, edi
jne 0x100dc178
pop ebx
pop edi
pop esi
mov dword [0x102cf1a8], ebp
mov dword [0x102cf19c], ebp
xor eax, eax
pop ebp
pop ecx
ret
Function at 0x100dc4c0
Capabilities:
Suspend thread

Disassembly:
mov eax, dword [0x102cf1a0]
test eax, eax
jne 0x100dc53c
push edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThread]
mov edi, dword [esp + 8]
cmp edi, eax
jne 0x100dc4de
xor eax, eax
pop edi
ret 4
push esi
push 8
call fcn.100ee40d
mov esi, eax
add esp, 4
test esi, esi
jne 0x100dc4f4
lea edi, [eax + 8]
jmp 0x100dc511
push edi
call dword [sym.imp.KERNEL32.DLL_SuspendThread]
cmp eax, 0xffffffff
jne 0x100dc528
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push esi
mov edi, eax
call fcn.100ee438
add esp, 4
pop esi
mov dword [0x102cf1a0], edi
mov eax, edi
mov dword [0x102cf1a4], 0
pop edi
ret 4
mov eax, dword [0x102cf1a8]
mov dword [esi + 4], edi
mov dword [esi], eax
mov dword [0x102cf1a8], esi
pop esi
xor eax, eax
pop edi
ret 4

Function at 0x100dcfe0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x3c]
add eax, ecx
movzx ecx, word [eax + 0x14]
push edi
mov edi, dword [esp + 0xc]
cmp edi, dword [ecx + eax + 0x24]
lea ecx, [ecx + eax + 0x18]
jae 0x100dd000
mov eax, edi
pop edi
ret
push ebx
push esi
movzx esi, word [eax + 6]
xor edx, edx
test esi, esi
jbe 0x100dd02a
lea esp, [esp]
mov eax, dword [ecx + 0xc]
cmp edi, eax
jb 0x100dd020
mov ebx, dword [ecx + 8]
add ebx, eax
cmp edi, ebx
jb 0x100dd031
add edx, 1
add ecx, 0x28
cmp edx, esi
jb 0x100dd010
pop esi
pop ebx
or eax, 0xffffffff
pop edi
ret
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
pop esi
pop ebx
add eax, edi
pop edi
ret
Function at 0x100dd120
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xe4
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x3c]
push ebx
push ebp
mov ebp, dword [esp + 0xf4]
add ecx, eax
push esi
push edi
mov edi, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + eax + 0x1c]
mov edx, dword [edi + eax + 0x20]
mov esi, dword [edi + eax + 0x24]
add ecx, eax
add edx, eax
add esi, eax
xor ebx, ebx
test ebp, 0xffff0000
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + eax + 0x10]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jne 0x100dd1a3
cmp ebp, ecx
jb 0x100dd19c
mov edx, dword [edi + eax + 0x14]
lea edx, [edx + ecx - 1]
cmp ebp, edx
ja 0x100dd19c
sub ebp, ecx
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + ebp*4]
jmp 0x100dd20b
xor eax, eax
jmp 0x100dd2d6
cmp dword [edi + eax + 0x18], ebx
mov dword [esp + 0x10], ebx
jle 0x100dd20d
jmp 0x100dd1b4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ecx, dword [edx + ecx*4]
mov esi, ebp
add ecx, eax
nop
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x100dd1e0
test dl, dl
je 0x100dd1dc
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x100dd1e0
add ecx, 2
add esi, 2
test dl, dl
jne 0x100dd1c0
xor ecx, ecx
jmp 0x100dd1e5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
mov ecx, dword [esp + 0x10]
je 0x100dd1fc
add ecx, 1
cmp ecx, dword [edi + eax + 0x18]
mov dword [esp + 0x10], ecx
jl 0x100dd1b0
jmp 0x100dd20d
mov edx, dword [esp + 0x18]
movzx edx, word [edx + ecx*2]
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + edx*4]
add ebx, eax
lea edx, [eax + edi]
cmp ebx, edx
jb 0x100dd2d4
mov ecx, dword [esp + 0x20]
add eax, ecx
add eax, edi
cmp ebx, eax
ja 0x100dd2d4
push 0x63
lea edx, [esp + 0x2d]
push 0
push edx
mov byte [esp + 0x34], 0
call fcn.101004d0
push 0x63
lea eax, [esp + 0x9d]
push 0
push eax
mov byte [esp + 0xa4], 0
call fcn.101004d0
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
add esp, 0x18
push ebx
lea ecx, [esp + 0x2c]
push ecx
call esi
lea edx, [esp + 0x28]
push 0x2e
push edx
call fcn.10101dc0
add esp, 8
test eax, eax
je 0x100dd2d4
mov byte [eax], 0
add eax, 1
push eax
lea eax, [esp + 0x90]
push eax
call esi
lea ecx, [esp + 0x20]
mov al, 0x6c
push ecx
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x28], 0x2e
mov byte [esp + 0x29], 0x64
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
test eax, eax
je 0x100dd2d4
lea ecx, [esp + 0x8c]
push ecx
push eax
call fcn.100dd120
add esp, 8
jmp 0x100dd2d6
mov eax, ebx
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100ffa66
add esp, 0xe4
ret
Function at 0x100dd960
Capabilities:
64-bit execution via heavens gate

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push esi
xor esi, esi
cmp dword [0x101a4d7c], esi
push edi
jne 0x100dd97c
xor eax, eax
xor edx, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
lea eax, [ebp + 0x14]
jle 0x100dd99d
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp + 0x18]
sub ecx, 1
mov dword [ebp + 0x10], ecx
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x2c], edx
jmp 0x100dd9a3
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
cmp ecx, esi
jle 0x100dd9be
sub ecx, 1
add eax, 8
mov dword [ebp + 0x10], ecx
mov edx, dword [eax - 8]
mov dword [ebp - 0x28], edx
mov edx, dword [eax - 4]
mov dword [ebp - 0x24], edx
jmp 0x100dd9c4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
cmp ecx, esi
jle 0x100dd9df
sub ecx, 1
add eax, 8
mov dword [ebp + 0x10], ecx
mov edx, dword [eax - 8]
mov dword [ebp - 0x20], edx
mov edx, dword [eax - 4]
mov dword [ebp - 0x1c], edx
jmp 0x100dd9e5
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
cmp ecx, esi
jle 0x100dda00
sub ecx, 1
add eax, 8
mov dword [ebp + 0x10], ecx
mov edx, dword [eax - 8]
mov dword [ebp - 0x18], edx
mov edx, dword [eax - 4]
mov dword [ebp - 0x14], edx
jmp 0x100dda06
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
cdq
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0x34], edx
cdq
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 8], esi
mov dword [ebp - 4], esi
mov word [ebp - 4], fs
mov eax, 0x2b
mov fs, ax
mov dword [ebp - 8], esp
and esp, 0xfffffff0
push 0x33
call 0x100dda3b
add dword [esp], 5
retf

Function at 0x100ddac0
Capabilities:
64-bit execution via heavens gate

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [ebp + 8], 0
push esi
push edi
je 0x100ddb2f
mov eax, dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp + 0x10]
jne 0x100ddadc
test ecx, ecx
je 0x100ddb2f
cmp dword [ebp + 0x14], 0
je 0x100ddb2f
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
push 0x33
call fcn.100ddaef
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x100ddb40
Capabilities:
64-bit execution via heavens gate

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [ebp + 8], 0
push esi
push edi
je 0x100ddbc6
mov eax, dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp + 0x10]
jne 0x100ddb5c
test ecx, ecx
je 0x100ddbc6
cmp dword [ebp + 0x14], 0
je 0x100ddbc6
mov byte [ebp - 1], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
push 0x33
call fcn.100ddb73
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100ddbd0
Capabilities:
64-bit execution via heavens gate

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10167578
mov eax, dword fs:[0]
push eax
sub esp, 0x5c0
push ebx
push esi
push edi
mov eax, dword [0x101b7324]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edx, edx
cmp dword [0x101a4d7c], edx
je 0x100ddea4
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
push 0x33
call 0x100ddc16
add dword [esp], 5
retf
xor eax, eax
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100de500
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x24
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x20], eax
mov ecx, dword [0x102cf428]
test ecx, ecx
push ebp
mov ebp, dword [esp + 0x38]
push esi
mov esi, dword [0x102cf42c]
push edi
mov edi, dword [esp + 0x34]
jne 0x100de5db
test esi, esi
jne 0x100de5db
mov al, 0x72
mov byte [esp + 0x19], al
mov byte [esp + 0x1d], al
mov byte [esp + 0x26], al
mov dl, 0x65
mov cl, 0x79
lea eax, [esp + 0x14]
push eax
mov byte [esp + 0x18], 0x4e
mov byte [esp + 0x19], 0x74
mov byte [esp + 0x1a], 0x51
mov byte [esp + 0x1b], 0x75
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], 0x56
mov byte [esp + 0x20], 0x69
mov byte [esp + 0x22], 0x74
mov byte [esp + 0x23], 0x75
mov byte [esp + 0x24], 0x61
mov byte [esp + 0x25], 0x6c
mov byte [esp + 0x26], 0x4d
mov byte [esp + 0x27], dl
mov byte [esp + 0x28], 0x6d
mov byte [esp + 0x29], 0x6f
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2c], 0
call fcn.100ddf00
push edx
push eax
call fcn.100de430
mov ecx, eax
add esp, 0xc
test ecx, ecx
mov esi, edx
mov dword [0x102cf428], ecx
mov dword [0x102cf42c], esi
jne 0x100de5db
test esi, esi
jne 0x100de5db
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100ffa66
add esp, 0x24
ret
lea eax, [esp + 0xc]
cdq
push edx
mov edx, dword [esp + 0x48]
push eax
push 0
push edx
mov eax, ebp
cdq
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x54]
push 0
push 0
push eax
push edx
mov eax, edi
cdq
push edx
push eax
push 6
push esi
push ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.100dd960
add esp, 0x3c
test eax, eax
jne 0x100de625
test edx, edx
je 0x100de62f
push edx
push eax
call fcn.100de360
add esp, 8
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.100ffa66
add esp, 0x24
ret