joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4372f5
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov eax, 0x43f9d2
call fcn.0043b650
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x10], esi
mov dword [esi], 0x445c8c
mov dword [esi + 4], 0x445c74
mov dword [esi + 8], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 1
call fcn.00402b75
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov byte [esi + 0x30], 1
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov byte [esi + 0x58], bl
mov byte [esi + 0x59], bl
mov dword [esi], 0x445c58
mov dword [esi + 4], 0x445c40
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret

Function at 0x4382a6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
pushal
call 0x4382b5
pop dword [ebp - 0x3c]
mov eax, 0xb26c5ea2
add eax, 0x4dd72413
sub dword [ebp - 0x3c], eax
push 0x40
push 0x1000
push 0x3eb3c
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x3c]
call dword [eax]
mov ecx, 0xe6f7b02e
sub ecx, 0xe6f75a51
xor esi, esi
add esi, eax
mov edi, 0x1da23082
add edi, 0xe2a33d7e
add edi, dword [ebp - 0x3c]
mov edx, 0x8ffd3422
add edx, 0x882425e0
sub dword [ebp - 0x20], 0x3ce7d77
mov ebx, dword [edi]
sub dword [ebp - 0x18], 0xce4046b5
xor ebx, edx
xor dword [ebp - 0x20], 0x59ff9d5
mov dword [esi], ebx
sub dword [ebp - 0x24], esi
add esi, 0x288a643
add esi, 0xfd7759c1
add edi, 4
loop 0x438311
add eax, 0x14a47
mov ebx, eax
add eax, 5
mov ecx, 0x400000
add ecx, dword [ebp - 0x3c]
call ebx
leave
ret

Function at 0x43b2d0
Capabilities:
Create thread

Disassembly:
push esi
lea eax, [esp + 8]
push eax
push 0
mov esi, ecx
mov ecx, dword [esp + 0x10]
push ecx
push edx
push 0
push 0
call sub.msvcrt.dll__beginthreadex
add esp, 0x18
mov dword [esi], eax
pop esi
test eax, eax
je 0x43b2f8
xor eax, eax
ret 4
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x43b307
mov eax, 1
ret 4

Function at 0x43b310
Capabilities:
Create thread
Resume thread

Disassembly:
push esi
push edi
lea eax, [esp + 0xc]
push eax
push 4
mov edi, ecx
mov ecx, dword [esp + 0x14]
push ecx
push edx
push 0
push 0
call sub.msvcrt.dll__beginthreadex
mov esi, eax
add esp, 0x18
mov dword [edi], esi
test esi, esi
je 0x43b356
mov edx, dword [esp + 0x10]
push edx
push esi
xor edi, edi
call dword [sym.imp.kernel32.dll_SetThreadAffinityMask]
push esi
call dword [sym.imp.kernel32.dll_ResumeThread]
cmp eax, 0xffffffff
je 0x43b356
mov eax, edi
pop edi
pop esi
ret 8
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x43b351
pop edi
mov eax, 1
pop esi
ret 8
Function at 0x43b5e0
Capabilities:
Check os version

Disassembly:
sub esp, 0x114
lea eax, [esp]
mov dword [esp], 0x114
push eax
call dword [sym.imp.kernel32.dll_GetVersionExW]
test eax, eax
je 0x43b60c
cmp dword [esp + 4], 6
jne 0x43b60c
mov eax, dword [esp + 8]
test eax, eax
je 0x43b62e
push str.SetDefaultDllDirectories
push 0x441320
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x43b62e
push 0xc00
call eax
add esp, 0x114
ret

Function at 0x43ba3c
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4463f8
push 0x43ba36
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
and dword [ebp - 4], 0
push 1
call dword [sym.imp.msvcrt.dll___set_app_type]
pop ecx
or dword [0x450788], 0xffffffff
or dword [0x45078c], 0xffffffff
call dword [sym.imp.msvcrt.dll___p__fmode]
mov ecx, dword [0x44e770]
mov dword [eax], ecx
call dword [sym.imp.msvcrt.dll___p__commode]
mov ecx, dword [0x44e76c]
mov dword [eax], ecx
mov eax, dword [sym.imp.msvcrt.dll__adjust_fdiv]
mov eax, dword [eax]
mov dword [0x450784], eax
call fcn.0043bb7f
cmp dword [0x44e450], 0
jne 0x43babf
push 0x43bb7c
call dword [sym.imp.msvcrt.dll___setusermatherr]
pop ecx
call fcn.0043bb6a
push 0x44e034
push 0x44e030
call sub.msvcrt.dll__initterm
mov eax, dword [0x44e768]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push dword [0x44e764]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.msvcrt.dll___getmainargs]
push 0x44e02c
push section..data
call sub.msvcrt.dll__initterm
call dword [sym.imp.msvcrt.dll___p___initenv]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
call fcn.00438c5e
add esp, 0x30
mov dword [ebp - 0x24], eax
push eax
call dword [sym.imp.msvcrt.dll_exit]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
push eax
push ecx
call sub.msvcrt.dll__XcptFilter
pop ecx
pop ecx
ret
Function at 0x4034c3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
pushal
call 0x4034d2
pop dword [ebp - 0x34]
mov eax, 0x4034d2
sub dword [ebp - 0x34], eax
mov dword [ebp - 0x44], 0xfeca5ff1
sub dword [ebp - 0x44], 0xb0781aa6
mov dword [ebp - 0x40], 0xddf2de35
add dword [ebp - 0x40], 0x54406e10
mov dword [ebp - 0x3c], 0xf879647e
sub dword [ebp - 0x3c], 0xac2d2050
mov dword [ebp - 0x38], 0x222035e0
sub dword [ebp - 0x38], 0x222035e0
lea eax, [ebp - 0x44]
push eax
mov eax, 0x48f0a545
add eax, 0xb74f9aeb
add eax, dword [ebp - 0x34]
call dword [eax]
mov dword [ebp - 0x44], 0xb00c7e06
sub dword [ebp - 0x44], 0x3b9a14b0
mov dword [ebp - 0x40], 0x521a5f4f
add dword [ebp - 0x40], 0xef520226
mov dword [ebp - 0x3c], 0x27949c74
sub dword [ebp - 0x3c], 0xc4253008
mov dword [ebp - 0x38], 0x2dc5a9c6
sub dword [ebp - 0x38], 0x2dc5a9c6
lea ebx, [ebp - 0x44]
push ebx
push eax
mov eax, 0x87c52cdc
add eax, 0x787b1374
add eax, dword [ebp - 0x34]
call dword [eax]
push 0x40
push 0x1000
push 0x36090
push 0
call eax
mov ecx, 0x4492
mov ebx, eax
mov edx, 0x408400
add edx, dword [ebp - 0x34]
mov edi, 0x29d04907
sub edi, 0x90914b20
sub dword [ebp - 0x1c], esi
mov esi, dword [edx]
add dword [ebp - 0xc], 0xc8382962
add esi, edi
sub dword [ebp - 0x18], edx
mov dword [ebx], esi
xor dword [ebp - 0x2c], ecx
add ebx, 0x8e2f5c17
add ebx, 0x71d0a3ed
add edx, 0x612c8e14
sub edx, 0x612c8e10
loop 0x4035e3
add eax, 0x4594661b
sub eax, 0x45936100
xor ebx, ebx
add ebx, eax
add eax, 0x5cfe7aba
sub eax, 0x5cfe7ab5
mov ecx, 0x400000
add ecx, dword [ebp - 0x34]
call ebx
leave
ret
Function at 0x401029
Capabilities:
Accept command line arguments

Disassembly:
push ebx
push ebp
push esi
push edi
push str._JAVA_LAUNCHER_DEBUG
call fcn.004190dd
xor ebp, ebp
pop ecx
test eax, eax
je 0x401076
push str.Windows_original_main_args:_n
call fcn.00401104
pop ecx
mov esi, ebp
call fcn.0040e687
cmp dword [eax], ebp
jle 0x401076
call fcn.0040e68d
mov eax, dword [eax]
push dword [eax + esi*4]
push esi
push str.wwwd_args__d____s_n
call fcn.00401104
add esp, 0xc
inc esi
call fcn.0040e687
cmp esi, dword [eax]
jl 0x401054
call dword [sym.imp.kernel32.dll_GetCommandLineA]
push eax
call fcn.0040120f
call fcn.00401277
mov ebx, eax
lea ecx, [ebx*4 + 4]
push ecx
call fcn.00401127
pop ecx
pop ecx
mov esi, eax
call fcn.0040127d
mov edx, ebp
test ebx, ebx
jle 0x4010b0
mov ecx, dword [eax + edx*8]
mov dword [esi + edx*4], ecx
inc edx
cmp edx, ebx
jl 0x4010a5
mov edi, dword [0x431004]
mov dword [esi + edx*4], ebp
test edi, edi
jne 0x4010bf
mov edi, dword [esi]
mov edx, dword [section..data]
test edx, edx
jne 0x4010cb
mov edx, dword [esi]
mov ecx, dword [0x431990]
test ecx, ecx
push ebp
push ebp
push 1
setne al
movzx eax, al
push eax
push edi
push edx
push 0x42526c
push 0x425270
push dword [0x431994]
push 1
push ecx
push 1
push esi
push ebx
call fcn.00401d57
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
ret
Function at 0x4042f7
Capabilities:
Read file on windows

Disassembly:
push ecx
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
push 2
push 0xffffffffffffffff
push 0xffffffffffffffea
push ebp
call fcn.004190dd
mov ebx, edx
add esp, 0x10
mov esi, eax
test ebx, ebx
jl 0x40446a
jg 0x404326
test esi, esi
jb 0x40446a
mov edi, dword [esp + 0x20]
push 0x16
push edi
push ebp
call fcn.00417558
add esp, 0xc
test eax, eax
js 0x40446a
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi]
shl ecx, 8
or ecx, eax
cmp ecx, 0x6054b50
jne 0x404388
push edi
call fcn.00404879
pop ecx
test eax, eax
je 0x40437f
push ebx
push esi
push edi
push ebp
call fcn.004190dd
add esp, 0x10
mov esi, eax
mov ebx, edx
mov eax, esi
mov edx, ebx
jmp 0x40446f
push 2
xor ebx, ebx
push ebx
push ebx
push ebp
call fcn.004190dd
mov ebp, eax
add esp, 0x10
mov eax, edx
mov dword [esp + 0x14], eax
cmp eax, ebx
jl 0x40446a
jg 0x4043b1
cmp ebp, ebx
jb 0x40446a
mov ecx, 0x10015
cmp eax, ebx
jg 0x4043c6
jl 0x4043c0
cmp ebp, ecx
jae 0x4043c6
mov esi, ebp
mov ecx, eax
jmp 0x4043ca
mov esi, ecx
mov ecx, ebx
mov eax, esi
neg eax
push 2
adc ecx, ebx
neg ecx
push ecx
push eax
push dword [esp + 0x28]
call fcn.004190dd
add esp, 0x10
cmp edx, ebx
jl 0x40446a
jg 0x4043f0
cmp eax, ebx
jb 0x40446a
push 0x10015
call fcn.004190dd
mov ebx, eax
pop ecx
test ebx, ebx
je 0x40446a
push esi
push ebx
push dword [esp + 0x24]
call fcn.00417558
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
js 0x404463
lea edx, [ebx + eax]
lea esi, [edx - 0x16]
jmp 0x40445f
cmp byte [esi], 0x50
jne 0x40445e
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, 0x50
cmp ecx, 0x6054b50
jne 0x40445e
movzx ecx, byte [esi + 0x15]
movzx eax, byte [esi + 0x14]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x16]
add eax, ecx
cmp eax, edx
je 0x404476
dec esi
cmp esi, ebx
jae 0x40441f
push ebx
call fcn.004190dd
pop ecx
or eax, 0xffffffff
or edx, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret
push 0x16
push esi
push edi
call fcn.0040a130
push ebx
call fcn.004190dd
mov eax, dword [esp + 0x20]
add eax, ebx
sub eax, esi
mov esi, dword [esp + 0x24]
cdq
sub ebp, eax
push edi
sbb esi, edx
call fcn.00404879
add esp, 0x14
test eax, eax
je 0x4044b6
push esi
push ebp
push edi
push dword [esp + 0x28]
call fcn.004190dd
add esp, 0x10
mov ebp, eax
mov esi, edx
mov eax, ebp
mov edx, esi
jmp 0x40446f
Function at 0x4190dd
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
pushal
call 0x4190ec
pop dword [ebp - 0x38]
mov eax, 0x4190ec
sub dword [ebp - 0x38], eax
mov dword [ebp - 0x48], 0x7c9f5213
add dword [ebp - 0x48], 0xd1b2f338
mov dword [ebp - 0x44], 0x47dec9ea
sub dword [ebp - 0x44], 0x15ab7da5
mov dword [ebp - 0x40], 0x329786b8
add dword [ebp - 0x40], 0x19b4bd76
mov dword [ebp - 0x3c], 0x251bf84
add dword [ebp - 0x3c], 0xfdae407c
lea eax, [ebp - 0x48]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x38]
call dword [eax]
mov dword [ebp - 0x48], 0xaddd8bf6
add dword [ebp - 0x48], 0xc694dd60
mov dword [ebp - 0x44], 0x4056b857
sub dword [ebp - 0x44], 0xfeea56e2
mov dword [ebp - 0x40], 0xaeb5788c
add dword [ebp - 0x40], 0xb4b9f3e0
mov dword [ebp - 0x3c], 0x12c75d36
sub dword [ebp - 0x3c], 0x12c75d36
lea ebx, [ebp - 0x48]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x38]
call dword [eax]
push 0x40
push 0x1000
push 0x3fc1b
push 0
call eax
mov ecx, 0x6255d6a6
sub ecx, 0x62558677
xor edx, edx
add edx, eax
mov edi, 0x43da00
add edi, dword [ebp - 0x38]
mov esi, 0x2e172306
xor dword [ebp - 0x2c], esi
mov ebx, dword [edi]
sub dword [ebp - 8], eax
xor ebx, esi
mov dword [edx], ebx
add dword [ebp - 0x18], 0x5797bec2
add edx, 0xe5fa9c07
sub edx, 0xe5fa9c03
add edi, 4
loop 0x4191f5
add eax, 0x79362bd6
sub eax, 0x7934f847
xor ebx, ebx
add ebx, eax
add eax, 0xc671d40d
sub eax, 0xc671d408
mov ecx, 0x61ad6688
add ecx, 0x9e929978
add ecx, dword [ebp - 0x38]
call ebx
leave
ret
Function at 0x404c40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 0xc], 0
call fcn.004045d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x404d9a
mov eax, 1
imul ecx, eax, 7
mov byte [ebp + ecx - 0x24], 0x6d
mov edx, 1
imul eax, edx, 0x12
mov byte [ebp + eax - 0x24], 0x45
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x24], 0x69
mov edx, 1
imul eax, edx, 0xc
mov byte [ebp + eax - 0x24], 0x6e
mov ecx, 1
imul edx, ecx, 0xa
mov byte [ebp + edx - 0x24], 0x43
mov eax, 1
imul ecx, eax, 0x11
mov byte [ebp + ecx - 0x24], 0x73
mov edx, 1
imul eax, edx, 3
mov byte [ebp + eax - 0x24], 0x74
mov ecx, 1
imul edx, ecx, 0
mov byte [ebp + edx - 0x24], 0x49
mov eax, 1
shl eax, 2
mov byte [ebp + eax - 0x24], 0x43
mov ecx, 1
imul edx, ecx, 0xe
mov byte [ebp + edx - 0x24], 0x72
mov eax, 1
shl eax, 4
mov byte [ebp + eax - 0x24], 0x6c
mov ecx, 1
imul edx, ecx, 0xb
mov byte [ebp + edx - 0x24], 0x6f
mov eax, 1
imul ecx, eax, 0xf
mov byte [ebp + ecx - 0x24], 0x6f
mov edx, 1
imul eax, edx, 0x13
mov byte [ebp + eax - 0x24], 0x78
mov ecx, 1
imul edx, ecx, 6
mov byte [ebp + edx - 0x24], 0x6d
mov eax, 1
shl eax, 3
mov byte [ebp + eax - 0x24], 0x6f
mov ecx, 1
imul edx, ecx, 0xd
mov byte [ebp + edx - 0x24], 0x74
mov eax, 1
imul ecx, eax, 9
mov byte [ebp + ecx - 0x24], 0x6e
mov edx, 1
imul eax, edx, 5
mov byte [ebp + eax - 0x24], 0x6f
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x24], 0x6e
mov edx, 1
imul eax, edx, 0x14
mov byte [ebp + eax - 0x24], 0
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x404d90
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x404db0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 0xc], 0
call fcn.004046d0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x404fd0
mov eax, 1
imul ecx, eax, 0x15
mov byte [ebp + ecx - 0x30], 0x64
mov edx, 1
imul eax, edx, 9
mov byte [ebp + eax - 0x30], 0x76
mov ecx, 1
imul edx, ecx, 0x17
mov byte [ebp + edx - 0x30], 0x6c
mov eax, 1
imul ecx, eax, 0x12
mov byte [ebp + ecx - 0x30], 0x67
mov edx, 1
imul eax, edx, 0x1f
mov byte [ebp + eax - 0x30], 0x65
mov ecx, 1
imul edx, ecx, 0x1d
mov byte [ebp + edx - 0x30], 0x69
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x30], 0x55
mov edx, 1
shl edx, 2
mov byte [ebp + edx - 0x30], 0x74
mov eax, 1
shl eax, 3
mov byte [ebp + eax - 0x30], 0x69
mov ecx, 1
imul edx, ecx, 0xc
mov byte [ebp + edx - 0x30], 0x46
mov eax, 1
imul ecx, eax, 7
mov byte [ebp + ecx - 0x30], 0x72
mov edx, 1
imul eax, edx, 0xb
mov byte [ebp + eax - 0x30], 0x72
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x30], 0x64
mov edx, 1
imul eax, edx, 0xf
mov byte [ebp + eax - 0x30], 0x50
mov ecx, 1
imul edx, ecx, 0x11
mov byte [ebp + edx - 0x30], 0x75
mov eax, 1
shl eax, 4
mov byte [ebp + eax - 0x30], 0x6c
mov ecx, 1
imul edx, ecx, 0x18
mov byte [ebp + edx - 0x30], 0x61
mov eax, 1
imul ecx, eax, 0x13
mov byte [ebp + ecx - 0x30], 0x41
mov edx, 1
imul eax, edx, 0x16
mov byte [ebp + eax - 0x30], 0x50
mov ecx, 1
imul edx, ecx, 0x21
mov byte [ebp + edx - 0x30], 0x57
mov eax, 1
shl eax, 5
mov byte [ebp + eax - 0x30], 0x73
mov ecx, 1
imul edx, ecx, 0x1a
mov byte [ebp + edx - 0x30], 0x44
mov eax, 1
imul ecx, eax, 0x1b
mov byte [ebp + ecx - 0x30], 0x65
mov edx, 1
imul eax, edx, 0xd
mov byte [ebp + eax - 0x30], 0x6f
mov ecx, 1
imul edx, ecx, 0xe
mov byte [ebp + edx - 0x30], 0x72
mov eax, 1
imul ecx, eax, 0x14
mov byte [ebp + ecx - 0x30], 0x6e
mov edx, 1
imul eax, edx, 5
mov byte [ebp + eax - 0x30], 0x65
mov ecx, 1
imul edx, ecx, 0x19
mov byte [ebp + edx - 0x30], 0x79
mov eax, 1
imul ecx, eax, 0x1e
mov byte [ebp + ecx - 0x30], 0x63
mov edx, 1
imul eax, edx, 0x22
mov byte [ebp + eax - 0x30], 0
mov ecx, 1
imul edx, ecx, 0x1c
mov byte [ebp + edx - 0x30], 0x76
mov eax, 1
imul ecx, eax, 3
mov byte [ebp + ecx - 0x30], 0x61
mov edx, 1
imul eax, edx, 0xa
mov byte [ebp + eax - 0x30], 0x65
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x30], 0x70
mov edx, 1
imul eax, edx, 6
mov byte [ebp + eax - 0x30], 0x44
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x404fc6
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x404fe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 0xc], 0
call fcn.004047b0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40512d
mov eax, 1
imul ecx, eax, 9
mov byte [ebp + ecx - 0x20], 0x64
mov edx, 1
imul eax, edx, 0x13
mov byte [ebp + eax - 0x20], 0
mov ecx, 1
shl ecx, 3
mov byte [ebp + ecx - 0x20], 0x6e
mov edx, 1
imul eax, edx, 0xf
mov byte [ebp + eax - 0x20], 0x6f
mov ecx, 1
shl ecx, 2
mov byte [ebp + ecx - 0x20], 0x6f
mov edx, 1
imul eax, edx, 0xa
mov byte [ebp + eax - 0x20], 0x6f
mov ecx, 1
imul edx, ecx, 0x11
mov byte [ebp + edx - 0x20], 0x45
mov eax, 1
shl eax, 4
mov byte [ebp + eax - 0x20], 0x6b
mov ecx, 1
imul edx, ecx, 5
mov byte [ebp + edx - 0x20], 0x6b
mov eax, 1
imul ecx, eax, 0xe
mov byte [ebp + ecx - 0x20], 0x6f
mov edx, 1
imul eax, edx, 0xd
mov byte [ebp + eax - 0x20], 0x48
mov ecx, 1
imul edx, ecx, 6
mov byte [ebp + edx - 0x20], 0x57
mov eax, 1
shl eax, 1
mov byte [ebp + eax - 0x20], 0x68
mov ecx, 1
imul edx, ecx, 0xb
mov byte [ebp + edx - 0x20], 0x77
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x20], 0x55
mov edx, 1
imul eax, edx, 0xc
mov byte [ebp + eax - 0x20], 0x73
mov ecx, 1
imul edx, ecx, 7
mov byte [ebp + edx - 0x20], 0x69
mov eax, 1
imul ecx, eax, 3
mov byte [ebp + ecx - 0x20], 0x6f
mov edx, 1
imul eax, edx, 0x12
mov byte [ebp + eax - 0x20], 0x78
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x20], 0x6e
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x405123
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x405140
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0xc], 0
call fcn.004047b0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40523e
mov eax, 1
imul ecx, eax, 7
mov byte [ebp + ecx - 0x1c], 0x73
mov edx, 1
imul eax, edx, 9
mov byte [ebp + eax - 0x1c], 0x67
mov ecx, 1
shl ecx, 3
mov byte [ebp + ecx - 0x1c], 0x61
mov edx, 1
imul eax, edx, 6
mov byte [ebp + eax - 0x1c], 0x73
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x1c], 0x74
mov eax, 1
imul ecx, eax, 0xa
mov byte [ebp + ecx - 0x1c], 0x65
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x1c], 0x73
mov eax, 1
imul ecx, eax, 5
mov byte [ebp + ecx - 0x1c], 0x65
mov edx, 1
imul eax, edx, 0xb
mov byte [ebp + eax - 0x1c], 0x57
mov ecx, 1
imul edx, ecx, 0
mov byte [ebp + edx - 0x1c], 0x50
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x1c], 0x6f
mov ecx, 1
shl ecx, 2
mov byte [ebp + ecx - 0x1c], 0x4d
mov edx, 1
imul eax, edx, 0xc
mov byte [ebp + eax - 0x1c], 0
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x405234
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret

Function at 0x405250
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 8], 0
mov eax, 1
imul ecx, eax, 3
mov byte [ebp + ecx - 0x18], 0x43
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x18], 0x47
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x18], 0x74
mov edx, 1
imul eax, edx, 0xc
mov byte [ebp + eax - 0x18], 0x6e
mov ecx, 1
imul edx, ecx, 0xa
mov byte [ebp + edx - 0x18], 0x4c
mov eax, 1
imul ecx, eax, 0xd
mov byte [ebp + ecx - 0x18], 0x65
mov edx, 1
imul eax, edx, 0xe
mov byte [ebp + eax - 0x18], 0x57
mov ecx, 1
imul edx, ecx, 6
mov byte [ebp + edx - 0x18], 0x6d
mov eax, 1
imul ecx, eax, 9
mov byte [ebp + ecx - 0x18], 0x64
mov edx, 1
shl edx, 3
mov byte [ebp + edx - 0x18], 0x6e
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x18], 0x65
mov ecx, 1
imul edx, ecx, 7
mov byte [ebp + edx - 0x18], 0x61
mov eax, 1
imul ecx, eax, 5
mov byte [ebp + ecx - 0x18], 0x6d
mov edx, 1
shl edx, 2
mov byte [ebp + edx - 0x18], 0x6f
mov eax, 1
imul ecx, eax, 0xf
mov byte [ebp + ecx - 0x18], 0
mov edx, 1
imul eax, edx, 0xb
mov byte [ebp + eax - 0x18], 0x69
lea ecx, [ebp - 0x18]
push ecx
call fcn.00404890
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40534b
call dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret