joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4bae70
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x78000]
push edi
jmp 0x4bae8a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4bae91
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4bae80
mov eax, 1
add ebx, ebx
jne 0x4baea3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4baeb4
jne 0x4baed3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4baed3
dec eax
add ebx, ebx
jne 0x4baec0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4bae98
add ebx, ebx
jne 0x4baecf
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x4baf25
xor ecx, ecx
sub eax, 3
jb 0x4baeeb
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x4baf5a
sar eax, 1
mov ebp, eax
jmp 0x4baef6
add ebx, ebx
jne 0x4baef6
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4baec4
inc ecx
add ebx, ebx
jne 0x4baf04
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4baec4
add ebx, ebx
jne 0x4baf11
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4baf06
jne 0x4baf22
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4baf06
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x4baf44
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x4baf36
jmp 0x4bae86
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x4baf44
add edi, ecx
jmp 0x4bae86
pop esi
mov edi, esi
mov ecx, 0x379b
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x4baf62
cmp byte [edi], 0x13
jne 0x4baf62
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x4baf67
lea edi, [esi + 0xb6000]
mov eax, dword [edi]
or eax, eax
je 0x4bafdf
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xc44fc]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xc4650]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4baf94
mov ecx, edi
jns 0x4bafc3
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xc4654]
or eax, eax
je 0x4bafd9
mov dword [ebx], eax
add ebx, 4
jmp 0x4bafb1
call dword [esi + 0xc4664]
mov ebp, dword [esi + 0xc4658]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x217]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x4bb013
sub esp, 0xffffff80
jmp 0x4165c1
Function at 0x430002
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
mov eax, section..idata
nop
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x658e3666
nop
test eax, eax
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x430024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x65b0418a
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x430084
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x401219
Function at 0x42e000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
mov ebx, 0x407ef8
nop
nop
mov ecx, 0x6ffd592e
nop
nop
nop
test eax, eax
nop
nop
je 0x42e04e
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
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
nop
jne 0x42e024
nop
mov eax, section..data
mov ebx, 0x42cd70
nop
mov ecx, 0x1f363aa0
nop
nop
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x42e084
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x42e06c
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219

Function at 0x4022e8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
mov ecx, 0xa
xor edi, edi
pop esi
mov dword [0x4041a8], esi
push edi
dec ecx
jne 0x40230f
lea eax, [ebp - 0x4c]
push eax
mov edx, dword [0x4041a8]
mov dword [ebp - 0x3c], edx
lea ecx, str.contents
mov dword [ebp - 0x28], ecx
lea eax, section..text
mov dword [ebp - 0x48], eax
call dword [sym.imp.USER32.dll_RegisterClassW]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
xor eax, eax
push eax
push dword [0x4041a8]
push eax
push eax
push 0x1f4
push 0x2f4
push 0x578
push 0xce4
push 0
mov ecx, str.frantically
push eax
push str.contents
push eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x4041b8], eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4041b8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
push eax
push eax
push eax
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x4023c3
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageW]
lea ecx, [ebp - 0x40]
push ecx
call edi
xor eax, eax
push eax
push eax
push eax
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x4023aa
pop ebp
ret 0x10
Function at 0x1594c40
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x9a7000]
push edi
or ebp, 0xffffffff
jmp 0x1594c62
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x1594c69
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1594c58
mov eax, 1
add ebx, ebx
jne 0x1594c7b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x1594c8c
jne 0x1594cab
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1594cab
dec eax
add ebx, ebx
jne 0x1594c98
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x1594c70
add ebx, ebx
jne 0x1594ca7
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x1594cfd
xor ecx, ecx
sub eax, 3
jb 0x1594cc3
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x1594d32
sar eax, 1
mov ebp, eax
jmp 0x1594cce
add ebx, ebx
jne 0x1594cce
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1594c9c
inc ecx
add ebx, ebx
jne 0x1594cdc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1594c9c
add ebx, ebx
jne 0x1594ce9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x1594cde
jne 0x1594cfa
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x1594cde
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x1594d1c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x1594d0e
jmp 0x1594c5e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x1594d1c
add edi, ecx
jmp 0x1594c5e
pop esi
mov edi, esi
mov ecx, 0x3df5d9
mov al, 0xe8
repne scasb al, byte es:[edi]
jne 0x1594d57
cmp byte [edi], 0x45
jne 0x1594d3c
mov eax, dword [edi]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
add eax, esi
stosd dword es:[edi], eax
jmp 0x1594d3a
lea edi, [esi + 0x1160000]
mov eax, dword [edi]
or eax, eax
je 0x1594da8
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x11b72dc]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x11b7444]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x1594d5d
mov ecx, edi
jns 0x1594d8c
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x11b7448]
or eax, eax
je 0x1594da2
mov dword [ebx], eax
add ebx, 4
jmp 0x1594d7a
call dword [esi + 0x11b7450]
mov ebp, dword [esi + 0x11b744c]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x247]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x1594ddc
sub esp, 0xffffff80
jmp 0x811b3f
Function at 0x4075d0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
push eax
push 0x40
push 0
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp + 0xc]
add esp, 0x10
test eax, eax
jne 0x4075f3
mov eax, 1
jmp 0x4076fe
mov edx, dword [ebp + 8]
movzx eax, word [edx]
cmp eax, 0x5a4d
jne 0x407609
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x3c], 0
jne 0x407613
mov eax, 2
jmp 0x4076fe
mov edx, dword [ebp + 0x10]
push edx
push 0xf8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x40
push edx
call dword [ebp + 0xc]
add esp, 0x10
test eax, eax
jne 0x40763e
mov eax, 1
jmp 0x4076fe
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x4550
jne 0x407664
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0x58]
cmp edx, 0x10b
jne 0x407664
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x46]
test ecx, ecx
jne 0x40766e
mov eax, 2
jmp 0x4076fe
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x46]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x140], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x140]
push eax
call fcn.00413ff0
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x138], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x138], 0
jne 0x4076af
mov eax, 3
jmp 0x4076fe
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x54]
lea ecx, [ecx + eax + 0x18]
mov edx, dword [ebp + 8]
mov dword [edx + 0x13c], ecx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x140]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x13c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x138]
push eax
call dword [ebp + 0xc]
add esp, 0x10
test eax, eax
jne 0x4076fc
mov eax, 1
jmp 0x4076fe
xor eax, eax
pop ebp
ret

Function at 0x408090
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
je 0x4080a6
xor eax, eax
jmp 0x4080e6
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp dword [ecx], 0x4550
jne 0x4080cb
mov edx, dword [ebp - 4]
movzx eax, word [edx + 0x18]
cmp eax, 0x10b
je 0x4080cf
xor eax, eax
jmp 0x4080e6
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
push ecx
call fcn.004080f0
add esp, 0xc
mov esp, ebp
pop ebp
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
nop
nop
push 4
nop
nop
nop
nop
nop
nop
nop
pop edi
cmp eax, 0
nop
nop
nop
nop
nop
nop
nop
je 0x433072
nop
mov ebx, 0x40de38
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x2e1067b9
nop
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
loop 0x433060
nop
nop
mov eax, section..rsrc
nop
nop
nop
nop
cmp eax, 0
nop
nop
je 0x4330d2
nop
nop
mov ebx, 0x4304d8
nop
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
push eax
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
mov esi, 0x69ce3009
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4330c0
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x405590
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
sub esp, 0x10
push esi
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4055ae
or eax, eax
pop esi
add esp, 0x10
ret
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov dword [esp + 0xc], eax
mov word [esp + 8], 2
call dword [sym.imp.WS2_32.dll_htons]
lea edx, [esp + 4]
push 0x10
push edx
push esi
mov word [esp + 0x12], ax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4055ef
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
pop esi
add esp, 0x10
ret
mov eax, esi
pop esi
add esp, 0x10
ret

Function at 0x432004
Capabilities:
Encode data using xor

Disassembly:
pushal
nop
mov eax, section..text
nop
nop
nop
push 4
nop
nop
pop edi
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x432072
nop
nop
nop
mov ebx, 0x40c7d0
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x36f4205e
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x432060
nop
nop
mov eax, section..text_1
nop
nop
nop
nop
cmp eax, 0
nop
je 0x4320d2
nop
nop
nop
mov ebx, 0x42f314
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x52fa18a1
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
add eax, edi
nop
loop 0x4320c0
nop
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x431219
Function at 0x10001e10
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x24
push esi
push edi
or eax, 0xffffffff
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], 0
mov esi, 0x10072009
mov dword [esp + 8], str.Config
mov cl, 0x43
or edi, 0xffffffff
nop word [eax + eax]
cmp cl, 0x23
jne 0x10001e4f
cmp byte [esi], cl
jne 0x10001e4f
cmp byte [esi + 1], cl
cmove eax, edi
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x10095e20]
test cl, cl
jne 0x10001e40
pop edi
not eax
mov dword [esp + 0xc], fcn.10001340
pop esi
lea ecx, [esp]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0x10001350
mov dword [esp + 0x14], 0x100016f0
mov dword [esp + 0x18], fcn.10001340
mov dword [esp + 0x1c], 0x10001360
call fcn.100276a0
add esp, 0x24
ret
Function at 0x100026b0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
mov ebx, edx
push edi
mov edi, ecx
cmp ebp, 5
jae 0x100026c6
pop edi
pop ebp
xor al, al
pop ebx
ret
lea eax, [esp + 0x10]
push eax
push 0x40
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push ebp
push 0x90
push edi
call fcn.1004d500
add esp, 0xc
mov byte [edi], 0xe9
lea eax, [esp + 0x10]
sub ebx, edi
sub ebx, 5
mov dword [edi + 1], ebx
push eax
push dword [esp + 0x14]
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop edi
pop ebp
mov al, 1
pop ebx
ret
Function at 0x10004aa0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
mov eax, dword [0x100a7018]
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
push ebx
mov ebx, dword [esp + 0xac]
push ebp
push esi
mov ebp, edx
mov dword [esp + 0x24], eax
push edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x1c], ecx
mov eax, dword [ebp]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [edi], 0
mov dword [ebp], 0
mov dword [esp + 0x24], eax
mov dword [ebx], 0
cmp eax, 5
jae 0x10004b06
mov eax, 6
jmp 0x10004c8c
mov ecx, dword [esp + 0xac]
movzx esi, byte [ecx + 4]
movzx eax, byte [ecx + 3]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 1]
shl esi, 8
or esi, eax
mov eax, 0x1000
cmp esi, eax
cmovb esi, eax
mov al, byte [ecx]
cmp al, 0xe1
jb 0x10004b46
mov eax, 4
jmp 0x10004c8c
movzx ecx, al
xor edx, edx
mov eax, ecx
mov dword [esp + 0x14], 9
div dword [esp + 0x14]
mov eax, 0x38e38e39
mov byte [esp + 0x12], dl
mul ecx
mov eax, 0xcccccccd
shr edx, 1
movzx ecx, dl
mul ecx
mov eax, ecx
mov ecx, 5
shr edx, 2
mov dword [esp + 0x18], edx
xor edx, edx
div ecx
push 0
mov al, dl
movzx ecx, al
mov byte [esp + 0x17], al
movzx eax, byte [esp + 0x16]
add ecx, eax
mov eax, 0x300
shl eax, cl
add eax, 0x7c0
push 0x100722ac
mov dword [esp + 0x1c], eax
call fcn.10002b40
mov eax, dword [esp + 0x1c]
add eax, eax
push eax
push 0x100722ac
call fcn.10002b30
add esp, 0x10
mov dword [esp + 0x38], eax
test eax, eax
jne 0x10004bd4
mov eax, 2
jmp 0x10004c8c
mov edx, dword [esp + 0x20]
add eax, 0xd00
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x30], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x31], al
mov eax, dword [esp + 0x18]
mov byte [esp + 0x32], al
movzx eax, byte [esp + 0x2b]
push ebx
push ecx
mov byte [esp + 0x3b], al
lea ecx, [esp + 0x38]
mov eax, dword [esp + 0x24]
push edi
push dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x44], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x84], 0x114
mov dword [edi], eax
call fcn.10004600
mov ecx, dword [esp + 0x58]
mov esi, eax
add esp, 0x10
mov dword [ebp], ecx
test esi, esi
jne 0x10004c79
cmp dword [ebx], 3
mov eax, 6
cmove esi, eax
push dword [esp + 0x38]
push 0x100722ac
call fcn.10002b40
add esp, 8
mov eax, esi
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1004b360
add esp, 0x90
ret
Function at 0x10006ed0
Capabilities:
Load windows common language runtime

Disassembly:
sub esp, 0x1c
push str.mscoree.dll
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x10006f97
push str.CLRCreateInstance
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10006f97
lea ecx, [esp + 0xc]
push ecx
push 0x10072020
push 0x10072030
call eax
test eax, eax
jne 0x10006f97
mov ecx, dword [esp + 0xc]
lea edx, [esp + 8]
push edx
push 0x10072040
push str.v4.0.30319
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10006f8d
mov ecx, dword [esp + 8]
lea edx, [esp]
push edx
push 0x10072050
push 0x10072010
mov eax, dword [ecx]
push ecx
call dword [eax + 0x24]
test eax, eax
jne 0x10006f83
mov eax, dword [esp]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push dword [esp]
call fcn.10006ab0
mov eax, dword [esp]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [esp]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp word [0x100a8c20], 0
je 0x1000709d
push str.mscoree.dll
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x1000709d
push str.CLRCreateInstance
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000709d
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], 0
push ecx
push 0x10072020
push 0x10072030
call eax
test eax, eax
jne 0x10007091
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x10072040
push str.v4.0.30319
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10007087
mov ecx, dword [esp + 0x10]
lea edx, [esp + 4]
push edx
push 0x10072050
push 0x10072010
mov eax, dword [ecx]
push ecx
call dword [eax + 0x24]
test eax, eax
jne 0x1000707d
mov eax, dword [esp + 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov ecx, dword [esp + 4]
lea eax, [esp + 0x18]
push eax
push 0x1009a408
push str.prejit_all_f
push str.Freedom.PreJit
call fcn.10006520
mov eax, dword [esp + 0x14]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [esp + 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [esp + 0x18], 1
sete al
add esp, 0x1c
ret
xor al, al
add esp, 0x1c
ret
Function at 0x10007790
Capabilities:
Execute shellcode via indirect call

Disassembly:
sub esp, 0xc
push edi
mov edi, ecx
cmp byte [edi + 0x20], 0
jne 0x10007885
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10007885
push ebx
push ebp
push esi
push eax
push dword [edi]
lea eax, [edi + 0x10]
push eax
call fcn.1004cf20
mov ebp, dword [edi + 0xc]
add esp, 0xc
mov eax, dword [edi + 4]
mov esi, dword [edi]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
cmp ebp, 5
jae 0x100077e5
mov eax, dword [edi + 8]
xor ebx, ebx
pop esi
pop ebp
mov dword [eax], ebx
pop ebx
mov byte [edi + 0x20], 1
pop edi
add esp, 0xc
ret
push 0x40
push 0x3000
push ebp
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ebx, eax
test ebx, ebx
je 0x10007817
push ebp
test esi, esi
je 0x1000780c
push esi
push ebx
call fcn.1004cf20
add esp, 0xc
jmp 0x10007827
push 0
push ebx
call fcn.1004d500
add esp, 0xc
call fcn.10053d87
mov dword [eax], 0x16
call fcn.10053a60
mov eax, esi
mov byte [ebx + ebp], 0xe9
sub eax, ebx
sub eax, 5
mov dword [ebx + ebp + 1], eax
lea eax, [esp + 0x14]
push eax
push 0x40
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call esi
push ebp
push 0x90
push dword [esp + 0x18]
call fcn.1004d500
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
lea ecx, [esp + 0x14]
push ecx
push dword [esp + 0x18]
mov byte [eax], 0xe9
push ebp
push eax
call esi
mov eax, dword [edi + 8]
pop esi
pop ebp
mov dword [eax], ebx
mov byte [edi + 0x20], 1
pop ebx
pop edi
add esp, 0xc
ret