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

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6386f53c
sub esp, 0x50
mov ecx, dword [0x638eb3b0]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1e], 0
lea edi, [esp + 0x20]
xor eax, eax
call fcn.637ac32a
mov word [esp + 0x1e], 0x6843
mov dword [esp + 0x20], 0x526b6365
mov dword [esp + 0x24], 0x746f6d65
mov dword [esp + 0x28], 0x62654465
mov dword [esp + 0x2c], 0x65676775
mov dword [esp + 0x30], 0x65725072
mov dword [esp + 0x34], 0x746e6573
mov dword [esp], 0
lea ecx, [esp + 0x1e]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1a
call fcn.63794310
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
lea ebx, [0x6391eba0]
mov dword [esp], ebx
call fcn.6374d9e0
mov ecx, dword [0x63aa7530]
mov edx, dword [esp + 4]
test ecx, ecx
jne 0x6386f46d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
jmp 0x6386f47f
call fcn.637ac0d0
mov eax, dword [esp + 0x48]
mov dword [edi], eax
mov ecx, dword [esp + 0x44]
mov dword [edi + 4], ecx
mov dword [esp + 0x40], edx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0xc], eax
mov dword [edx + 8], ecx
mov byte [esp + 0x1d], 0
lea eax, [esp + 0x1d]
mov dword [esp + 0x4c], eax
nop
mov dword [esp], edx
call fcn.637b7e00
mov eax, dword [esp + 4]
test eax, eax
jne 0x6386f526
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
lea ecx, [0x63909a60]
mov dword [esp], ecx
call fcn.6374d9e0
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.637aa220
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6386f51d
movzx eax, byte [esp + 0x1d]
test al, al
je 0x6386f514
mov byte [esp + 0x54], al
add esp, 0x50
ret
mov byte [esp + 0x54], 0
add esp, 0x50
ret
mov byte [esp + 0x54], 0
add esp, 0x50
ret
je 0x6386f52b
mov eax, dword [eax + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.637795a0
nop
call fcn.637aaca0
jmp fcn.6386f3b0
Function at 0x6386f550
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6386f6ae
sub esp, 0x48
mov ecx, dword [0x638eb3b4]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1e], 0
lea edi, [esp + 0x20]
xor eax, eax
call fcn.637ac32b
mov word [esp + 0x1e], 0x775a
mov dword [esp + 0x20], 0x49746553
mov dword [esp + 0x24], 0x726f666e
mov dword [esp + 0x28], 0x6974616d
mov dword [esp + 0x2c], 0x68546e6f
mov dword [esp + 0x30], 0x64616572
mov dword [esp], 0
lea ecx, [esp + 0x1e]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x16
call fcn.63794310
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
lea ebx, [0x6391eba0]
mov dword [esp], ebx
call fcn.6374d9e0
mov ecx, dword [0x63aa7530]
mov edx, dword [esp + 4]
test ecx, ecx
jne 0x6386f605
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
jmp 0x6386f617
call fcn.637ac0d0
mov eax, dword [esp + 0x44]
mov dword [edi], eax
mov ecx, dword [esp + 0x40]
mov dword [edi + 4], ecx
mov dword [esp + 0x3c], edx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0xc], eax
mov dword [edx + 8], ecx
nop
mov dword [esp], edx
call fcn.637b7e00
mov eax, dword [esp + 4]
test eax, eax
jne 0x6386f698
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
lea ecx, [0x63909aa0]
mov dword [esp], ecx
call fcn.6374d9e0
mov eax, dword [esp + 4]
mov dword [eax], 0xfffffffe
mov dword [eax + 4], 0x11
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.637aa220
add esp, 0x48
ret
je 0x6386f69d
mov eax, dword [eax + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.637795a0
nop
call fcn.637aaca0
jmp fcn.6386f550
Function at 0x63888e50
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6388901c
sub esp, 0x1c
mov ecx, dword [esp + 0x30]
mov ebx, ecx
shr ebx, 3
mov ebp, dword [esp + 0x24]
cmp ebp, ebx
jge 0x63888e7c
mov eax, ebp
jmp 0x63888e80
mov eax, ebp
mov ebp, ebx
mov edx, dword [esp + 0x28]
cmp edx, ebp
jb 0x63889014
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
jmp 0x63888f2f
mov ecx, edi
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
movzx ecx, byte [esi + ebx]
and ecx, 0xffffff80
movzx edx, byte [esi + ebx + 1]
and edx, 0xffffff80
shr dl, 1
or edx, ecx
movzx ecx, byte [esi + ebx + 2]
and ecx, 0xffffff80
shr cl, 2
or ecx, edx
movzx edx, byte [esi + ebx + 3]
and edx, 0xffffff80
shr dl, 3
or edx, ecx
movzx ecx, byte [esi + ebx + 4]
and ecx, 0xffffff80
shr cl, 4
or ecx, edx
movzx edx, byte [esi + ebx + 5]
and edx, 0xffffff80
shr dl, 5
or edx, ecx
movzx ecx, byte [esi + ebx + 6]
and ecx, 0xffffff80
shr cl, 6
or ecx, edx
movzx edx, byte [esi + ebx + 7]
and edx, 0xffffff80
shr dl, 7
or edx, ecx
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x20]
mov byte [ebx + ecx], dl
inc ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 8]
cmp ebx, ebp
jge 0x63888f52
shl ebx, 3
lea ecx, [ebx + 8]
cmp edi, ecx
jb 0x6388900d
cmp ebx, ecx
jbe 0x63888eab
jmp 0x63889006
cmp eax, ebp
jb 0x63888ffd
mov ebx, ebp
shl ebp, 3
sub edx, ebx
neg edx
sar edx, 0x1f
sub eax, ebx
and edx, ebx
cmp ecx, ebp
jb 0x63888ff6
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
sub ecx, ebp
add esi, edi
test eax, eax
je 0x63888fb2
test ecx, ecx
je 0x63888fb2
movzx eax, byte [esp + 0x38]
test al, al
je 0x63888fa4
mov eax, 0xffffffff
shr al, cl
cmp ecx, 8
sbb ebp, ebp
and eax, ebp
jmp 0x63888fa6
xor eax, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
xor ebp, ebp
jmp 0x63888fe4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
add esp, 0x1c
ret
movzx edi, byte [ebp + esi]
and edi, 0xffffff80
mov ecx, ebp
xchg edi, eax
shr al, cl
xchg edi, eax
lea ebx, [ecx + 1]
cmp ecx, 8
sbb ecx, ecx
and ecx, edi
or eax, ecx
mov edi, dword [esp + 0x14]
mov ecx, edi
mov ebp, ebx
mov ebx, dword [esp + 0x18]
cmp ebp, ecx
jl 0x63888fbe
mov ecx, dword [esp + 0x20]
mov byte [ecx + edx], al
inc ebx
mov ebp, dword [esp + 0x30]
jmp 0x63888fb2
mov eax, ebp
call fcn.637ac1a0
mov ecx, eax
mov eax, ebp
call fcn.637ac1a0
mov eax, ebx
call fcn.637ac1a0
mov edx, edi
call fcn.637ac180
mov ecx, ebp
call fcn.637ac180
nop
call fcn.637aaca0
jmp fcn.63888e50
Function at 0x63894b90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x63894d6c
sub esp, 0x7c
lea edi, [esp + 0x1c]
mov esi, dword [esp + 0x80]
call fcn.637ac7dc
lea eax, [esp + 0x1c]
mov dword [esp], eax
call fcn.63894630
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea edi, [esp + 0x54]
xor eax, eax
call fcn.637ac326
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
xor ecx, ecx
jmp 0x63894c40
mov edx, dword [esp + 0x48]
lea ecx, [edx + 1]
cmp ecx, 5
jge 0x63894d0a
mov dword [esp + 0x48], ecx
lea edx, [esp + ecx*8 + 0x54]
mov ebx, dword [edx]
mov dword [esp + 0x44], ebx
mov edx, dword [edx + 4]
imul ebp, ecx, 0x33
mov esi, ebp
sar ebp, 0x1f
shr ebp, 0x1d
add ebp, esi
mov dword [esp + 0x50], ebp
and ebp, 0xfffffff8
sub esi, ebp
mov ecx, esi
shl ebx, cl
shl edx, cl
mov dword [esp + 0x4c], edx
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov edi, dword [esp + 0x44]
shl edi, cl
neg ecx
mov edx, dword [esp + 0x44]
shr edx, cl
cmp ebp, 0x20
sbb ebp, ebp
and edi, ebp
cmp esi, 0x20
sbb ebp, ebp
and ebx, ebp
mov dword [esp + 0x18], ebx
mov byte [esp + 8], bl
mov esi, dword [esp + 0x4c]
and esi, ebp
mov ebp, ebx
shr ebx, 8
shr ebp, 0x10
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x18]
shr ebp, 0x18
cmp ecx, 0x20
sbb ecx, ecx
and edx, ecx
or esi, edx
or edi, esi
mov edx, edi
shl edi, 0x18
or edi, ebx
xchg edi, eax
mov byte [esp + 9], al
xchg edi, eax
mov ebx, edx
shl edx, 0x10
mov esi, dword [esp + 0x4c]
or esi, edx
xchg esi, eax
mov byte [esp + 0xa], al
xchg esi, eax
mov edx, ebx
shl ebx, 8
or ebp, ebx
xchg ebp, eax
mov byte [esp + 0xb], al
xchg ebp, eax
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
xor ecx, ecx
jmp 0x63894d44
test byte [eax], al
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0x20
mov dword [esp + 0x90], 0x20
add esp, 0x7c
ret
test byte [eax], al
movzx ebp, byte [esp + ecx + 0x10]
movzx esi, byte [eax + edx]
or esi, ebp
xchg esi, ebx
mov byte [eax + edx], bl
xchg esi, ebx
inc ecx
mov edx, ebx
cmp ecx, 8
jge 0x63894c39
mov ebx, edx
sar edx, 3
add edx, ecx
cmp edx, 0x20
jge 0x63894c39
jb 0x63894d2d
mov eax, edx
mov ecx, 0x20
call fcn.637ac140
nop
call fcn.637aaca0
jmp fcn.63894b90
Function at 0x63894e40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x63894fc4
sub esp, 0x6c
lea edi, [esp + 0x40]
xor eax, eax
call fcn.637ac326
mov ecx, dword [0x638eb5bc]
lea edx, [esp + 0x40]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
call fcn.63894820
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edi, [esp + 0x14]
xor eax, eax
call fcn.637ac328
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
lea edx, [esp + 0x14]
mov dword [esp + 4], edx
call fcn.63894b90
mov ecx, dword [esp + 0xc]
test ecx, ecx
jbe 0x63894fba
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov edi, dword [esp + 8]
movzx edi, byte [edi]
and edi, 1
mov dword [esp + 0x38], edi
sar edi, 0x1f
nop
xor ebx, ebx
mov eax, dword [esp + 0x38]
sub ebx, eax
mov dword [esp + 0x34], ebx
mov eax, 0
sbb eax, edi
mov dword [esp + 0x3c], eax
and ecx, ebx
and edx, eax
mov edi, ebx
not ebx
not eax
and ebp, ebx
or ecx, ebp
mov ebp, dword [esp + 0x70]
mov dword [ebp], ecx
and esi, eax
or edx, esi
mov dword [ebp + 4], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 8]
and edx, edi
mov esi, dword [ecx + 0xc]
mov edi, dword [esp + 0x3c]
and esi, edi
mov edi, dword [esp + 0x74]
mov ecx, dword [edi + 8]
and ecx, ebx
or ecx, edx
mov edx, dword [edi + 0xc]
mov dword [ebp + 8], ecx
and edx, eax
or edx, esi
mov dword [ebp + 0xc], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x10]
mov esi, dword [esp + 0x34]
and edx, esi
mov esi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x3c]
and esi, ecx
mov ecx, dword [edi + 0x10]
and ecx, ebx
or ecx, edx
mov edx, dword [edi + 0x14]
mov dword [ebp + 0x10], ecx
and edx, eax
or edx, esi
mov dword [ebp + 0x14], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x18]
mov esi, dword [esp + 0x34]
and edx, esi
mov esi, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x3c]
and esi, ecx
mov ecx, dword [edi + 0x18]
and ecx, ebx
or ecx, edx
mov edx, dword [edi + 0x1c]
mov dword [ebp + 0x18], ecx
and edx, eax
or edx, esi
mov dword [ebp + 0x1c], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x20]
mov esi, dword [esp + 0x34]
and esi, edx
mov ecx, dword [ecx + 0x24]
mov edx, dword [esp + 0x3c]
and edx, ecx
mov ecx, dword [edi + 0x20]
and ebx, ecx
or ebx, esi
mov ecx, dword [edi + 0x24]
mov dword [ebp + 0x20], ebx
and eax, ecx
or eax, edx
mov dword [ebp + 0x24], eax
mov dword [esp + 0x78], ebp
add esp, 0x6c
ret
xor eax, eax
mov ecx, eax
call fcn.637ac140
nop
call fcn.637aaca0
jmp fcn.63894e40
Function at 0x63896bb0
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x63896dc4
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xcc]
cmp ecx, 6
jne 0x63896c47
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0xcbbb9d5d
mov dword [eax + 8], 0x367cd507
mov dword [eax + 0xc], 0x629a292a
mov dword [eax + 0x10], 0x3070dd17
mov dword [eax + 0x14], 0x9159015a
mov dword [eax + 0x18], 0xf70e5939
mov dword [eax + 0x1c], 0x152fecd8
mov dword [eax + 0x20], 0xffc00b31
mov dword [eax + 0x24], 0x67332667
mov dword [eax + 0x28], 0x68581511
mov dword [eax + 0x2c], 0x8eb44a87
mov dword [eax + 0x30], 0x64f98fa7
mov dword [eax + 0x34], 0xdb0c2e0d
mov dword [eax + 0x38], 0xbefa4fa4
mov dword [eax + 0x3c], 0x47b5481d
jmp 0x63896da5
cmp ecx, 0xe
jne 0x63896cc0
mov dword [eax], 0x19544da2
mov dword [eax + 4], 0x8c3d37c8
mov dword [eax + 8], 0x89dcd4d6
mov dword [eax + 0xc], 0x73e19966
mov dword [eax + 0x10], 0x32ff9c82
mov dword [eax + 0x14], 0x1dfab7ae
mov dword [eax + 0x18], 0x582f9fcf
mov dword [eax + 0x1c], 0x679dd514
mov dword [eax + 0x20], 0x7bd44da8
mov dword [eax + 0x24], 0xf6d2b69
mov dword [eax + 0x28], 0x4c48942
mov dword [eax + 0x2c], 0x77e36f73
mov dword [eax + 0x30], 0x6a1d36c8
mov dword [eax + 0x34], 0x3f9d85a8
mov dword [eax + 0x38], 0x91d692a1
mov dword [eax + 0x3c], 0x1112e6ad
jmp 0x63896da5
cmp ecx, 0xf
jne 0x63896d36
mov dword [eax], 0xfc2bf72c
mov dword [eax + 4], 0x22312194
mov dword [eax + 8], 0xc84c64c2
mov dword [eax + 0xc], 0x9f555fa3
mov dword [eax + 0x10], 0x6f53b151
mov dword [eax + 0x14], 0x2393b86b
mov dword [eax + 0x18], 0x5940eabd
mov dword [eax + 0x1c], 0x96387719
mov dword [eax + 0x20], 0xa88effe3
mov dword [eax + 0x24], 0x96283ee2
mov dword [eax + 0x28], 0x53863992
mov dword [eax + 0x2c], 0xbe5e1e25
mov dword [eax + 0x30], 0x2c85b8aa
mov dword [eax + 0x34], 0x2b0199fc
mov dword [eax + 0x38], 0x81c52ca2
mov dword [eax + 0x3c], 0xeb72ddc
jmp 0x63896da5
mov dword [eax], 0xf3bcc908
mov dword [eax + 4], 0x6a09e667
mov dword [eax + 8], 0x84caa73b
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0xfe94f82b
mov dword [eax + 0x14], 0x3c6ef372
mov dword [eax + 0x18], 0x5f1d36f1
mov dword [eax + 0x1c], 0xa54ff53a
mov dword [eax + 0x20], 0xade682d1
mov dword [eax + 0x24], 0x510e527f
mov dword [eax + 0x28], 0x2b3e6c1f
mov dword [eax + 0x2c], 0x9b05688c
mov dword [eax + 0x30], 0xfb41bd6b
mov dword [eax + 0x34], 0x1f83d9ab
mov dword [eax + 0x38], 0x137e2179
mov dword [eax + 0x3c], 0x5be0cd19
mov dword [eax + 0xc0], 0
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
ret
call fcn.637aaca0
jmp fcn.63896bb0
Function at 0x63899000
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x638990a6
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
je 0x63899059
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0x367cd507
mov dword [eax + 8], 0x3070dd17
mov dword [eax + 0xc], 0xf70e5939
mov dword [eax + 0x10], 0xffc00b31
mov dword [eax + 0x14], 0x68581511
mov dword [eax + 0x18], 0x64f98fa7
mov dword [eax + 0x1c], 0xbefa4fa4
jmp 0x63899090
mov dword [eax], 0x6a09e667
mov dword [eax + 4], 0xbb67ae85
mov dword [eax + 8], 0x3c6ef372
mov dword [eax + 0xc], 0xa54ff53a
mov dword [eax + 0x10], 0x510e527f
mov dword [eax + 0x14], 0x9b05688c
mov dword [eax + 0x18], 0x1f83d9ab
mov dword [eax + 0x1c], 0x5be0cd19
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
ret
call fcn.637aaca0
jmp fcn.63899000
Function at 0x638c46e0
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 2
lea ebx, [esp + 0x24]
call fcn.638c5ce0
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Mingw_w64_runtime_failure:_n
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call fcn.638c5ce0
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
lea esi, [esi]

Function at 0x638c4740
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x63aadc9c]
test esi, esi
jle 0x638c4860
mov eax, dword [0x63aadca0]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp edx, ebx
ja 0x638c4774
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x638c47f7
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x638c4760
mov dword [esp], ebx
call fcn.638c4eb0
mov edi, eax
test eax, eax
je 0x638c4887
mov eax, dword [0x63aadca0]
lea ebx, [esi + esi*4]
shl ebx, 2
add eax, ebx
mov dword [eax + 0x10], edi
mov dword [eax], 0
call fcn.638c4fc0
mov edx, dword [0x63aadca0]
add eax, dword [edi + 0xc]
mov dword [edx + ebx + 0xc], eax
lea edx, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x638c4867
mov eax, dword [esp + 0x28]
lea edx, [eax - 0x40]
and edx, 0xffffffbf
je 0x638c47f0
lea edx, [eax - 4]
and edx, 0xfffffffb
jne 0x638c4800
add dword [0x63aadc9c], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp eax, 2
mov edx, 0x40
mov eax, 4
mov ecx, dword [esp + 0x20]
cmovne eax, edx
mov edx, dword [esp + 0x14]
add ebx, dword [0x63aadca0]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
jne 0x638c47f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call fcn.638c46e0
lea esi, [esi]
lea esi, [esi]
xor esi, esi
jmp 0x638c477e
mov eax, dword [0x63aadca0]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call fcn.638c46e0
mov dword [esp + 4], ebx
mov dword [esp], str.Address__p_has_no_image_section
call fcn.638c46e0
lea esi, [esi]
nop
Function at 0x638c4b20
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x63aadcac
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x63aadca4]
sub esp, 4
test ebx, ebx
je 0x638c4b75
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp], eax
call ebp
sub esp, 4
mov esi, eax
call edi
test eax, eax
jne 0x638c4b6e
test esi, esi
je 0x638c4b6e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x638c4b50
mov dword [esp], 0x63aadcac
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x402570
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x446c05
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x814
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x25]
mov byte [esp + 0x24], bl
mov dword [esp + 0x20], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x45ad14]
mov dword [esp + 0x14], eax
push 0x45d5d0
lea ecx, [esp + 0x18]
mov dword [esp + 0x830], 1
call fcn.004326aa
mov edi, dword [esp + 0x838]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x19], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov word [esp + 0x11], bx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov byte [esp + 0x18], al
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x10], al
mov ebp, ecx
mov cl, byte [eax + 0x45a357]
mov bl, byte [esp + eax + 0x24]
xor bl, cl
mov byte [esp + eax + 0x24], bl
inc eax
cmp eax, 0x14
jl 0x402614
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], edx
call fcn.00416e04
cdq
mov ecx, 0xf
idiv ecx
lea eax, [esp + 0x14]
push eax
mov dx, word [esp + edx + 0x30]
mov word [esp + 0x18], dx
call fcn.00416e04
mov edi, 0x14
add esp, 8
xor esi, esi
cmp ebp, edi
mov ebx, eax
jle 0x40268f
cmp esi, 0xbe
jle 0x402672
xor esi, esi
mov cl, byte [ebx + esi + 0x45a26c]
mov dl, byte [esp + edi + 0x24]
xor cl, dl
push ecx
lea ecx, [esp + 0x18]
call fcn.00432924
inc esi
inc edi
cmp edi, ebp
jl 0x402668
mov esi, dword [esp + 0x834]
lea edx, [esp + 0x14]
push edx
mov ecx, esi
call fcn.00432296
mov dword [esp + 0x20], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x82c], 0
call fcn.00432521
mov ecx, dword [esp + 0x824]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x820
ret

Function at 0x4353c7
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], al
add byte [ebx - 0x7c16fbb3], cl
mov cl, 0xfe
inc ebx
mov eax, 0x452c10
jmp 0x40473d
Function at 0x41f5a8
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, 0x489650
cmp dword [edi], 0
jne 0x41f624
push 0x40
push 0x1000
push 0x1000
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov esi, eax
mov eax, dword [0x48964c]
mov dword [esi], eax
lea edx, [esi + 4]
mov eax, 0x488598
mov ecx, 2
call fcn.00402740
mov edx, 0x41f580
lea eax, [esi + 5]
call fcn.0041f5a0
mov dword [esi + 6], eax
lea ebx, [esi + 0xa]
mov byte [ebx], 0xe8
lea edx, [esi + 4]
mov eax, ebx
call fcn.0041f5a0
mov dword [ebx + 1], eax
mov eax, dword [edi]
mov dword [ebx + 5], eax
mov dword [edi], ebx
add ebx, 0xd
mov eax, ebx
sub eax, esi
cmp eax, 0xffc
jl 0x41f5f9
mov dword [0x48964c], esi
mov eax, dword [edi]
mov ebx, dword [edi]
mov edx, dword [ebx + 5]
mov dword [edi], edx
mov edx, dword [ebp + 8]
mov dword [ebx + 5], edx
mov edx, dword [ebp + 0xc]
mov dword [ebx + 9], edx
pop edi
pop esi
pop ebx
pop ebp
ret 8

Function at 0x41f728
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push esi
mov esi, eax
mov bl, byte [0x41f778]
test si, 4
je 0x41f73c
or bl, 1
test si, 8
je 0x41f746
or bl, 4
test si, 1
je 0x41f750
or bl, 8
test si, 2
je 0x41f75a
or bl, 0x10
test si, 0x10
je 0x41f764
or bl, 0x20
push 0x12
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x41f773
or bl, 2
mov eax, ebx
pop esi
pop ebx
ret

Function at 0x41f77c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push esi
mov esi, eax
mov bl, byte [0x41f7b4]
push 0x10
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x41f795
or bl, 1
push 0x11
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x41f7a4
or bl, 4
test esi, 0x20000000
je 0x41f7af
or bl, 2
mov eax, ebx
pop esi
pop ebx
ret