joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4422c6f0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
push ebx
mov ebx, dword [esp + 0x10]
push ebx
push eax
push ecx
call fcn.4422c1c0
add esp, 0xc
test eax, eax
jl 0x4422c938
mov edx, dword [ebx + 0xf0]
add edx, edx
push esi
add edx, edx
xor esi, esi
push edi
test edx, edx
jle 0x4422c76d
lea ecx, [ebx + edx*4 + 8]
lea eax, [ebx + 8]
push ebp
lea ebx, [ebx]
mov ebp, dword [ecx - 8]
mov edi, dword [eax - 8]
mov dword [eax - 8], ebp
mov ebp, dword [ecx - 4]
mov dword [ecx - 8], edi
mov edi, dword [eax - 4]
mov dword [eax - 4], ebp
mov ebp, dword [ecx]
mov dword [ecx - 4], edi
mov edi, dword [eax]
mov dword [eax], ebp
mov ebp, dword [ecx + 4]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [eax + 4], ebp
mov dword [ecx + 4], edi
add esi, 4
sub edx, 4
add eax, 0x10
sub ecx, 0x10
cmp esi, edx
jl 0x4422c730
pop ebp
mov edx, 1
cmp dword [ebx + 0xf0], edx
jle 0x4422c934
lea eax, [ebx + 2]
mov ecx, dword [eax + 0xe]
movzx edi, byte [eax + 0xf]
mov edi, dword [edi*4 + 0x44289f58]
add eax, 0x10
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x44289f58]
and esi, 0xff
mov esi, dword [esi*4 + 0x4428ab58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428b358]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x44289f58]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x4428b758]
movzx ecx, byte [eax]
mov ecx, dword [ecx*4 + 0x44289f58]
movzx edi, byte [eax + 3]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x4428af58]
mov ecx, dword [eax + 2]
mov dword [eax - 2], esi
mov edi, dword [edi*4 + 0x44289f58]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x44289f58]
and esi, 0xff
mov esi, dword [esi*4 + 0x4428ab58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428b358]
movzx edi, byte [eax + 4]
mov edi, dword [edi*4 + 0x44289f58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428af58]
movzx edi, byte [eax + 7]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x44289f58]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x4428b758]
mov ecx, dword [eax + 6]
mov dword [eax + 2], esi
mov edi, dword [edi*4 + 0x44289f58]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x44289f58]
and esi, 0xff
mov esi, dword [esi*4 + 0x4428ab58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428b358]
movzx edi, byte [eax + 8]
mov edi, dword [edi*4 + 0x44289f58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428af58]
movzx edi, byte [eax + 0xb]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x44289f58]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x4428b758]
mov ecx, dword [eax + 0xa]
mov dword [eax + 6], esi
mov edi, dword [edi*4 + 0x44289f58]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x44289f58]
and esi, 0xff
mov esi, dword [esi*4 + 0x4428ab58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428b358]
movzx edi, byte [eax + 0xc]
mov edi, dword [edi*4 + 0x44289f58]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x44289f58]
and edi, 0xff
xor esi, dword [edi*4 + 0x4428af58]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x4428b758]
inc edx
mov dword [eax + 0xa], esi
cmp edx, dword [ebx + 0xf0]
jl 0x4422c781
pop edi
xor eax, eax
pop esi
pop ebx
ret
Function at 0x44231c90
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov eax, 0x8c
call fcn.4427cde0
mov eax, dword [0x442bd0c0]
xor eax, esp
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
push ebx
push ebp
mov ebp, dword [esp + 0xa4]
push esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
xor eax, eax
push edi
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x44231cdf
mov eax, 1
mov dword [esi], ebp
jmp 0x44231ce1
mov ebp, dword [esi]
test ecx, ecx
je 0x44231dc4
push ebp
call fcn.44258a90
mov ebx, eax
add esp, 4
cmp ebx, 0x80
jle 0x44231d10
push str.j____int_sizeof_ctx__key_
push 0x52
push str..cryptohmachmac.c
call fcn.442352b0
add esp, 0xc
mov edi, dword [esp + 0xa8]
cmp ebx, edi
jge 0x44231d67
mov ecx, dword [esp + 0x10]
push ecx
lea ebx, [esi + 4]
push ebp
push ebx
call fcn.4422d4f0
add esp, 0xc
test eax, eax
je 0x44231e66
mov edx, dword [esp + 0x14]
push edi
push edx
push ebx
call fcn.4422d6a0
add esp, 0xc
test eax, eax
je 0x44231e66
lea edi, [esi + 0x4c]
push edi
lea eax, [esi + 0x50]
push eax
push ebx
call fcn.4422d6b0
add esp, 0xc
test eax, eax
je 0x44231e66
jmp 0x44231da1
cmp edi, 0x80
jbe 0x44231d83
push str.len_0__len__int_sizeof_ctx__key_
push 0x5f
push str..cryptohmachmac.c
call fcn.442352b0
add esp, 0xc
mov ecx, dword [esp + 0x14]
push edi
push ecx
lea edx, [esi + 0x50]
push edx
call sub.MSVCR90.dll_memcpy
mov eax, dword [esp + 0xb4]
lea edi, [esi + 0x4c]
add esp, 0xc
mov dword [edi], eax
mov edi, dword [edi]
cmp edi, 0x80
je 0x44231dcc
mov ecx, 0x80
sub ecx, edi
push ecx
lea edx, [edi + esi + 0x50]
push 0
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
jmp 0x44231dcc
test eax, eax
je 0x44231e52
xor eax, eax
mov edi, edi
mov cl, byte [esi + eax + 0x50]
xor cl, 0x36
mov byte [esp + eax + 0x18], cl
inc eax
cmp eax, 0x80
jl 0x44231dd0
mov edi, dword [esp + 0x10]
push edi
lea ebx, [esi + 0x1c]
push ebp
push ebx
call fcn.4422d4f0
add esp, 0xc
test eax, eax
je 0x44231e66
push ebp
call fcn.44258a90
push eax
lea edx, [esp + 0x20]
push edx
push ebx
call fcn.4422d6a0
add esp, 0x10
test eax, eax
je 0x44231e66
xor eax, eax
mov cl, byte [esi + eax + 0x50]
xor cl, 0x5c
mov byte [esp + eax + 0x18], cl
inc eax
cmp eax, 0x80
jl 0x44231e14
push edi
lea ebx, [esi + 0x34]
push ebp
push ebx
call fcn.4422d4f0
add esp, 0xc
test eax, eax
je 0x44231e66
push ebp
call fcn.44258a90
push eax
lea edx, [esp + 0x20]
push edx
push ebx
call fcn.4422d6a0
add esp, 0x10
test eax, eax
je 0x44231e66
lea eax, [esi + 0x1c]
push eax
add esi, 4
push esi
call fcn.4422d840
add esp, 8
test eax, eax
jne 0x44231e6a
xor eax, eax
jmp 0x44231e6f
mov eax, 1
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.4427cc16
add esp, 0x8c
ret
Function at 0x44235190
Capabilities:
Access the windows event log

Disassembly:
mov eax, pe_nt_image_headers32
call fcn.4427cde0
mov eax, dword [0x442bd0c0]
xor eax, esp
mov dword [esp + 0x104], eax
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
test eax, eax
je 0x442351f5
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
test eax, eax
je 0x442351f5
mov ecx, dword [esp + 0x10c]
lea eax, [esp + 0x110]
push eax
push ecx
call sub.MSVCR90.dll___iob_func
add eax, 0x40
push eax
call sub.MSVCR90.dll_vfprintf
add esp, 0xc
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.4427cc16
add esp, 0x108
ret
mov eax, dword [esp + 0x10c]
lea edx, [esp + 0x110]
push edx
push eax
lea ecx, [esp + 0xc]
push 0xff
push ecx
call sub.MSVCR90.dll__vsnprintf
add esp, 0x10
mov byte [esp + 0x103], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x44235284
call fcn.44235050
test eax, eax
jle 0x44235284
push esi
push str.OPENSSL
push 0
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceA]
push 0
mov esi, eax
lea eax, [esp + 8]
push eax
push 0
push 1
push 0
push 0
push 0
push 1
lea edx, [esp + 0x28]
push esi
mov dword [esp + 0x28], edx
call dword [sym.imp.ADVAPI32.dll_ReportEventA]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.4427cc16
add esp, 0x108
ret
push 0x10
push str.OpenSSL:_FATAL
lea ecx, [esp + 0xc]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.4427cc16
add esp, 0x108
ret

Function at 0x44235410
Capabilities:
Hash data with md5

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x5c
push 0
push esi
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov eax, 1
pop esi
ret
Function at 0x4423e360
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [esp + 4]
push esi
xor esi, esi
test edx, edx
je 0x4423e3a7
mov al, byte [edx]
test al, al
je 0x4423e3a7
push edi
mov edi, 0x100
movsx eax, al
or eax, edi
mov ecx, eax
shr ecx, 2
xor ecx, eax
and ecx, 0xf
add edi, 0x100
rol esi, cl
mov ecx, eax
imul ecx, eax
mov al, byte [edx + 1]
inc edx
xor esi, ecx
test al, al
jne 0x4423e377
mov eax, esi
shr eax, 0x10
pop edi
xor eax, esi
pop esi
ret
xor eax, eax
pop esi
ret
Function at 0x44242950
Capabilities:
Hash data using sha1

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x60
push 0
push esi
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
mov eax, 1
pop esi
ret
Function at 0x44252120
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x20
call fcn.4427cde0
mov eax, dword [0x442bd0c0]
xor eax, esp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x34]
push ebp
mov ebp, dword [esp + 0x30]
dec ebp
lea edx, [ebp - 0x29]
cmp ebx, edx
push edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
jle 0x44252185
push 0x2d
push str..crypto_rsa_rsa_oaep.c
push 0x6e
push 0x79
push 4
call fcn.44234800
add esp, 0x14
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.4427cc16
add esp, 0x20
ret
cmp ebp, 0x29
jge 0x442521b3
push 0x33
push str..crypto_rsa_rsa_oaep.c
push 0x78
push 0x79
push 4
call fcn.44234800
add esp, 0x14
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.4427cc16
add esp, 0x20
ret
push esi
mov byte [edi], 0
lea esi, [edi + 1]
push 0
add edi, 0x15
call fcn.44232180
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x50]
push 0
push edi
push eax
push ecx
call fcn.4422d9a0
mov edx, ebp
sub edx, ebx
sub edx, 0x29
push edx
lea eax, [edi + 0x14]
push 0
push eax
call sub.MSVCR90.dll_memset
mov edx, dword [esp + 0x34]
mov ecx, edi
sub ecx, ebx
lea eax, [ecx + ebp]
push ebx
mov byte [eax - 0x15], 1
push edx
add eax, 0xffffffec
push eax
call sub.MSVCR90.dll_memcpy
push 0x14
push esi
call fcn.4422f710
add esp, 0x38
test eax, eax
jle 0x44252245
push 0x48
add ebp, 0xffffffec
push str..crypto_rsa_rsa_oaep.c
push ebp
call fcn.44232460
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4425225a
push 0x4b
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x79
push 4
call fcn.44234800
add esp, 0x14
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.4427cc16
add esp, 0x20
ret
call fcn.44232180
push eax
push 0x14
push esi
push ebp
push ebx
call fcn.44251fc0
add esp, 0x14
test eax, eax
jl 0x44252245
test ebp, ebp
jle 0x4425228b
mov ecx, ebx
mov eax, edi
sub ecx, edi
mov edx, ebp
lea ecx, [ecx]
mov bl, byte [ecx + eax]
xor byte [eax], bl
inc eax
sub edx, 1
jne 0x44252280
call fcn.44232180
push eax
push ebp
push edi
lea eax, [esp + 0x24]
push 0x14
push eax
call fcn.44251fc0
add esp, 0x14
test eax, eax
jl 0x44252245
lea ecx, [esp + 0x18]
lea edi, [esp + 0x19]
lea ebp, [esp + 0x1a]
lea edx, [esp + 0x1b]
sub ecx, esi
sub edi, esi
sub ebp, esi
sub edx, esi
lea ebx, [esp + 0x1c]
sub ebx, esi
mov eax, esi
mov dword [esp + 0x10], ebx
mov esi, 4
nop
movzx ebx, byte [ecx + eax]
xor byte [eax], bl
movzx ebx, byte [edi + eax]
xor byte [eax + 1], bl
movzx ebx, byte [eax + ebp]
xor byte [eax + 2], bl
movzx ebx, byte [edx + eax]
xor byte [eax + 3], bl
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax]
xor byte [eax + 4], bl
add eax, 5
sub esi, 1
jne 0x442522d0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.44232610
mov ecx, dword [esp + 0x30]
add esp, 4
lea eax, [esi + 1]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.4427cc16
add esp, 0x20
ret
Function at 0x44252930
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x18], esi
jne 0x442529fc
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x6a
je 0x44252951
cmp al, 0x6b
jne 0x442529fc
lea edx, [ecx + 1]
cmp al, 0x6b
jne 0x442529bd
add esi, 0xfffffffd
xor ecx, ecx
test esi, esi
jle 0x44252971
mov al, byte [edx]
inc edx
cmp al, 0xba
je 0x44252971
cmp al, 0xbb
jne 0x4425299a
inc ecx
cmp ecx, esi
jl 0x44252961
sub esi, ecx
test ecx, ecx
jne 0x442529c0
push 0x8a
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call fcn.44234800
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
push 0x81
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call fcn.44234800
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
add esi, 0xfffffffe
cmp byte [esi + edx], 0xcc
je 0x442529e9
push 0x93
push str..crypto_rsa_rsa_x931.c
push 0x8b
push 0x80
push 4
call fcn.44234800
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
mov eax, dword [esp + 8]
push esi
push edx
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov eax, esi
pop esi
ret
push 0x72
push str..crypto_rsa_rsa_x931.c
push 0x89
push 0x80
push 4
call fcn.44234800
add esp, 0x14
or eax, 0xffffffff
pop esi
ret

Function at 0x44255b80
Capabilities:
Encode data using base64

Disassembly:
mov ecx, dword [esp + 4]
push ebp
push edi
mov edi, dword [esp + 0x14]
xor ebp, ebp
test edi, edi
jle 0x44255c63
push esi
mov esi, dword [esp + 0x14]
lea esp, [esp]
cmp edi, 3
movzx edx, byte [esi]
jl 0x44255bfe
movzx eax, byte [esi + 1]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 1], al
inc ecx
mov eax, edx
shr eax, 6
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
inc ecx
mov byte [ecx], al
inc ecx
and edx, 0x3f
mov dl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], dl
jmp 0x44255c50
shl edx, 0x10
cmp edi, 2
jne 0x44255c0f
movzx eax, byte [esi + 1]
shl eax, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
inc ecx
mov byte [ecx], al
inc ecx
cmp edi, 1
jne 0x44255c3d
lea edx, [edi + 0x3c]
jmp 0x44255c4a
shr edx, 6
and edx, 0x3f
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], dl
inc ecx
mov byte [ecx], 0x3d
sub edi, 3
inc ecx
add ebp, 4
add esi, 3
test edi, edi
jg 0x44255ba0
pop esi
pop edi
mov eax, ebp
mov byte [ecx], 0
pop ebp
ret
Function at 0x44265dd0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x28
call fcn.4427cde0
mov eax, dword [esp + 0x38]
push ebx
push edi
xor edi, edi
push eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edi
call fcn.44232960
mov ebx, eax
add esp, 4
cmp ebx, edi
jl 0x44266011
push esi
mov esi, dword [esp + 0x48]
cmp esi, 0xffffffff
jne 0x44265e97
mov esi, ebx
mov edi, dword [esp + 0x38]
mov ecx, dword [edi + 0x10]
push ebp
push ecx
call fcn.4422fc80
mov ebp, eax
dec ebp
and ebp, 7
push edi
mov dword [esp + 0x24], ebp
call fcn.4422ddf0
add esp, 8
mov edi, eax
mov dword [esp + 0x18], eax
test ebp, ebp
jne 0x44265e49
mov eax, dword [esp + 0x40]
mov byte [eax], 0
inc eax
dec edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], edi
cmp esi, 0xfffffffe
jne 0x44265ecb
mov esi, edi
sub esi, ebx
sub esi, 2
test esi, esi
jle 0x44265f09
push 0xda
push str..crypto_rsa_rsa_pss.c
push esi
call fcn.44232460
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x44265ef7
push 0xde
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x7d
push 4
call fcn.44234800
add esp, 0x14
jmp 0x44265ff4
cmp esi, 0xfffffffe
jne 0x44265ea1
jmp 0x44265e0d
jge 0x44265e0d
push 0xc3
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x7d
push 4
call fcn.44234800
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebx
add esp, 0x28
ret
lea edx, [ebx + esi + 2]
cmp edi, edx
jge 0x44265e55
push 0xd5
push str..crypto_rsa_rsa_pss.c
push 0x6e
push 0x7d
push 4
call fcn.44234800
add esp, 0x14
mov eax, dword [esp + 0x14]
pop ebp
pop esi
pop edi
pop ebx
add esp, 0x28
ret
push esi
push ebp
call fcn.4422f710
add esp, 8
test eax, eax
jle 0x44265ff0
lea eax, [esp + 0x20]
sub edi, ebx
push eax
lea ebp, [edi - 1]
call fcn.4422d4a0
mov ecx, dword [esp + 0x4c]
push 0
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.4422d4f0
push 8
lea eax, [esp + 0x34]
push 0x442a655c
push eax
call fcn.4422d6a0
mov ecx, dword [esp + 0x60]
push ebx
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.4422d6a0
add esp, 0x28
test esi, esi
je 0x44265f64
mov eax, dword [esp + 0x10]
push esi
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.4422d6a0
add esp, 0xc
mov edx, dword [esp + 0x40]
lea eax, [edx + ebp]
push 0
push eax
lea eax, [esp + 0x28]
push eax
call fcn.4422d810
lea ecx, [esp + 0x2c]
push ecx
call fcn.4422d730
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
push edx
push ebx
add eax, ebp
push eax
push ebp
mov ebp, dword [esp + 0x60]
push ebp
call fcn.44251fc0
add esp, 0x24
test eax, eax
jne 0x44265ff0
sub edi, esi
xor byte [edi + ebp - 2], 1
lea eax, [edi + ebp - 2]
inc eax
test esi, esi
jle 0x44265fc6
xor ecx, ecx
test esi, esi
jle 0x44265fc6
mov edx, dword [esp + 0x10]
mov dl, byte [ecx + edx]
xor byte [eax], dl
inc ecx
inc eax
cmp ecx, esi
jl 0x44265fb7
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x44265fdf
mov ecx, 8
sub ecx, eax
mov eax, 0xff
sar eax, cl
and byte [ebp], al
mov ecx, dword [esp + 0x18]
mov byte [ecx + ebp - 1], 0xbc
mov dword [esp + 0x14], 1
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x44265eeb
push ebp
call fcn.44232610
mov eax, dword [esp + 0x18]
add esp, 4
pop ebp
pop esi
pop edi
pop ebx
add esp, 0x28
ret
mov eax, edi
pop edi
pop ebx
add esp, 0x28
ret
Function at 0x4426ab00
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [eax + 4]
push ebx
push esi
push edi
mov edi, dword [esp + 0x18]
cmp ecx, dword [edi + 4]
jge 0x4426ab19
mov esi, edi
mov edi, eax
jmp 0x4426ab1b
mov esi, eax
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x10]
cmp eax, dword [ebx + 8]
jg 0x4426ab2b
mov eax, ebx
jmp 0x4426ab35
push eax
push ebx
call fcn.4422fec0
add esp, 8
test eax, eax
jne 0x4426ab3d
pop edi
pop esi
pop ebx
ret
xor eax, eax
cmp dword [edi + 4], eax
jle 0x4426ab59
mov edx, dword [esi]
mov ecx, dword [edi]
mov edx, dword [edx + eax*4]
xor edx, dword [ecx + eax*4]
mov ecx, dword [ebx]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [edi + 4]
jl 0x4426ab44
cmp eax, dword [esi + 4]
jge 0x4426ab70
mov edi, edi
mov edx, dword [esi]
mov edx, dword [edx + eax*4]
mov ecx, dword [ebx]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [esi + 4]
jl 0x4426ab60
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
test eax, eax
jle 0x4426ab91
mov ecx, dword [ebx]
lea ecx, [ecx + eax*4 - 4]
mov edx, dword [ecx]
sub ecx, 4
test edx, edx
jne 0x4426ab8e
dec eax
test eax, eax
jg 0x4426ab80
mov dword [ebx + 4], eax
pop edi
pop esi
mov eax, 1
pop ebx
ret
Function at 0x4426fc50
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x130
call fcn.4427cde0
mov eax, dword [0x442bd0c0]
xor eax, esp
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x13c]
push ebx
push ebp
mov ebp, dword [esp + 0x158]
push esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x154]
push edi
mov edi, dword [esp + 0x144]
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], eax
mov ebx, 1
call fcn.44232960
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
test esi, esi
jge 0x4426fcb3
xor eax, eax
jmp 0x4426fe3d
lea ecx, [esp + 0x2c]
push ecx
call fcn.44231f50
mov edx, dword [esp + 0x160]
add esp, 4
mov dword [esp + 0x18], edx
test edi, edi
jne 0x4426fcd8
mov dword [esp + 0x148], edi
jmp 0x4426fd02
cmp dword [esp + 0x148], 0xffffffff
jne 0x4426fd02
mov eax, edi
lea ecx, [eax + 1]
mov dword [esp + 0x10], ecx
jmp 0x4426fcf0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4426fcf0
sub eax, dword [esp + 0x10]
mov dword [esp + 0x148], eax
test edx, edx
je 0x4426fe2b
jmp 0x4426fd18
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
cmp edx, esi
jg 0x4426fd1e
mov esi, edx
mov edx, ebx
shr edx, 0x18
mov eax, ebx
shr eax, 0x10
push 0
mov byte [esp + 0x18], dl
mov edx, dword [esp + 0x20]
push edx
mov byte [esp + 0x1d], al
mov eax, dword [esp + 0x150]
mov ecx, ebx
shr ecx, 8
push eax
mov byte [esp + 0x22], cl
lea ecx, [esp + 0x38]
push edi
push ecx
mov byte [esp + 0x2b], bl
call fcn.44231c90
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x38]
push edx
push eax
lea ecx, [esp + 0x48]
push ecx
call fcn.44231e90
push 4
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.44231e90
push 0
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0x60]
push edx
call fcn.44231ea0
push esi
lea eax, [esp + 0x138]
push eax
push ebp
call sub.MSVCR90.dll_memcpy
mov eax, dword [esp + 0x198]
add esp, 0x44
cmp eax, 1
jle 0x4426fe16
dec eax
mov dword [esp + 0x10], eax
jmp 0x4426fdc0
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x100]
push ecx
push edx
mov edx, dword [esp + 0x28]
mov eax, ecx
mov ecx, dword [esp + 0x154]
push eax
push ecx
push edi
push edx
call fcn.44232030
add esp, 0x1c
test esi, esi
jle 0x4426fe0f
lea ecx, [esp + 0xfc]
mov eax, ebp
sub ecx, ebp
mov edi, esi
lea esp, [esp]
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
sub edi, 1
jne 0x4426fe00
mov edi, dword [esp + 0x28]
sub dword [esp + 0x10], 1
jne 0x4426fdc0
mov eax, dword [esp + 0x18]
sub eax, esi
inc ebx
add ebp, esi
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4426fd10
lea eax, [esp + 0x2c]
push eax
call fcn.44231ff0
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.4427cc16
add esp, 0x130
ret
Function at 0x44278a50
Capabilities:
Query environment variable

Disassembly:
mov eax, 0xc
call fcn.4427cde0
push edi
mov edi, dword [esp + 0x1c]
test edi, edi
jne 0x44278a6a
xor eax, eax
pop edi
add esp, 0xc
ret
push ebx
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x44278b0e
push esi
mov esi, dword [esp + 0x20]
test esi, esi
je 0x44278ada
mov ecx, dword [ebx + 8]
lea eax, [esp + 0xc]
push eax
push ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
call fcn.4423e590
add esp, 8
test eax, eax
jne 0x44278afb
mov ecx, 0x442aa144
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44278ac4
test dl, dl
je 0x44278ac0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44278ac4
add eax, 2
add ecx, 2
test dl, dl
jne 0x44278aa4
xor eax, eax
jmp 0x44278ac9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44278ada
push edi
call sub.MSVCR90.dll_getenv
add esp, 4
test eax, eax
jne 0x44278afe
mov eax, dword [ebx + 8]
lea edx, [esp + 0xc]
push edx
push eax
mov dword [esp + 0x14], str.default
mov dword [esp + 0x18], edi
call fcn.4423e590
add esp, 8
test eax, eax
je 0x44278b05
mov eax, dword [eax + 8]
pop esi
pop ebx
pop edi
add esp, 0xc
ret
pop esi
pop ebx
xor eax, eax
pop edi
add esp, 0xc
ret
push edi
call sub.MSVCR90.dll_getenv
add esp, 4
pop ebx
pop edi
add esp, 0xc
ret

Function at 0x4427cc16
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x442bd0c0]
jne 0x4427cc20
repz ret
jmp fcn.4427d8bc