joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44dc9c
Capabilities:
Parse credit card information

Disassembly:
push edi
push esi
mov esi, dword [esp + 0xc]
cmp edx, 3
jne 0x44dcb1
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_RESPONSE
cmp esi, 0x3c
je case.0x44dd0c.1
cmp edx, 3
jne 0x44dcc0
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_TOKEN
cmp esi, 0x3d
je case.0x44dd0c.1
cmp edx, 3
jne 0x44dccf
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE
cmp esi, 0x3f
je case.0x44dd0c.1
cmp edx, 3
jne 0x44dcde
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_ERROR
cmp esi, 0x40
je case.0x44dd0c.1
cmp edx, 3
jne 0x44dced
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_ERRTOK
cmp esi, 0x41
je case.0x44dd0c.1
cmp edx, 3
jne 0x44dcff
mov eax, str.SSH2_MSG_USERAUTH_GSSAPI_MIC
cmp esi, 0x42
jne 0x44dcff
pop esi
pop edi
ret
lea edi, [esi - 1]
cmp edi, 5
ja case.default.0x44dd0c
mov eax, str.SSH2_MSG_DISCONNECT
jmp dword [edi*4 + 0x410180]
mov eax, str.SSH2_MSG_IGNORE
jmp case.0x44dd0c.1
cmp esi, 0x14
je 0x44dd47
cmp esi, 0x15
jne 0x44dd4e
mov eax, str.SSH2_MSG_NEWKEYS
jmp case.0x44dd0c.1
mov eax, str.SSH2_MSG_UNIMPLEMENTED
jmp case.0x44dd0c.1
mov eax, str.SSH2_MSG_DEBUG
jmp case.0x44dd0c.1
mov eax, str.SSH2_MSG_SERVICE_REQUEST
jmp case.0x44dd0c.1
mov eax, str.SSH2_MSG_SERVICE_ACCEPT
jmp case.0x44dd0c.1
mov eax, str.SSH2_MSG_KEXINIT
jmp case.0x44dd0c.1
cmp ecx, 1
jne 0x44dd5d
mov eax, str.SSH2_MSG_KEXDH_INIT
cmp esi, 0x1e
je case.0x44dd0c.1
cmp ecx, 1
jne 0x44dd6c
mov eax, str.SSH2_MSG_KEXDH_REPLY
cmp esi, 0x1f
je case.0x44dd0c.1
cmp ecx, 2
jne 0x44dd7b
mov eax, str.SSH2_MSG_KEX_DH_GEX_REQUEST_OLD
cmp esi, 0x1e
je case.0x44dd0c.1
cmp ecx, 2
jne 0x44dd8e
mov eax, str.SSH2_MSG_KEX_DH_GEX_REQUEST
cmp esi, 0x22
je case.0x44dd0c.1
cmp ecx, 2
jne 0x44dda1
mov eax, str.SSH2_MSG_KEX_DH_GEX_GROUP
cmp esi, 0x1f
je case.0x44dd0c.1
cmp ecx, 2
jne 0x44ddb4
mov eax, str.SSH2_MSG_KEX_DH_GEX_INIT
cmp esi, 0x20
je case.0x44dd0c.1
cmp ecx, 2
jne 0x44ddc7
mov eax, str.SSH2_MSG_KEX_DH_GEX_REPLY
cmp esi, 0x21
je case.0x44dd0c.1
cmp ecx, 4
jne 0x44ddda
mov eax, str.SSH2_MSG_KEXRSA_PUBKEY
cmp esi, 0x1e
je case.0x44dd0c.1
cmp ecx, 4
jne 0x44dded
mov eax, str.SSH2_MSG_KEXRSA_SECRET
cmp esi, 0x1f
je case.0x44dd0c.1
cmp ecx, 4
jne 0x44de00
mov eax, str.SSH2_MSG_KEXRSA_DONE
cmp esi, 0x20
je case.0x44dd0c.1
cmp ecx, 3
jne 0x44de13
mov eax, str.SSH2_MSG_KEX_ECDH_INIT
cmp esi, 0x1e
je case.0x44dd0c.1
cmp ecx, 3
jne 0x44de26
mov eax, str.SSH2_MSG_KEX_ECDH_REPLY
cmp esi, 0x1f
je case.0x44dd0c.1
lea eax, [esi - 0x32]
cmp eax, 4
jae 0x44de3a
mov eax, dword [esi*4 + 0x40c2d8]
jmp case.0x44dd0c.1
cmp edx, 1
jne 0x44de4d
mov eax, str.SSH2_MSG_USERAUTH_PK_OK
cmp esi, 0x3c
je case.0x44dd0c.1
cmp edx, 2
jne 0x44de60
mov eax, str.SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ
cmp esi, 0x3c
je case.0x44dd0c.1
cmp edx, 4
jne 0x44de73
mov eax, str.SSH2_MSG_USERAUTH_INFO_REQUEST
cmp esi, 0x3c
je case.0x44dd0c.1
cmp edx, 4
jne 0x44de86
mov eax, str.SSH2_MSG_USERAUTH_INFO_RESPONSE
cmp esi, 0x3d
je case.0x44dd0c.1
lea ecx, [esi - 0x50]
mov eax, str.unknown
cmp ecx, 0x15
jae case.0x44dd0c.1
mov eax, dword [esi*4 + 0x40c270]
jmp case.0x44dd0c.1
Function at 0x459a40
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov esi, ecx
mov dword [esp + 4], edx
lea eax, [eax - 0x10]
cmp eax, 0x10
ja 0x459a63
mov ecx, 0x10101
bt ecx, eax
jb 0x459a7a
push 0x3a7
push str..._sshaes.c
push str.keylen__16__keylen__24__keylen__32
call fcn.004a509d
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ebx, 0xa
mov dword [esi + 0x3e8], 4
mov ecx, eax
mov ebp, ecx
sar ebp, 0x1f
shr ebp, 0x1e
add ebp, ecx
sar ebp, 2
cmp ecx, 0x10
lea eax, [ebp + 6]
cmovge ebx, eax
lea eax, [ebx*4 + 4]
mov dword [esi + 0x3ec], ebx
mov dword [esi + 0x3c0], 0x459f7a
mov dword [esi + 0x3c4], 0x45a28a
test eax, eax
jle 0x459be4
lea eax, [ebp*4]
mov ecx, esi
sub ecx, eax
xor eax, eax
mov dword [esp], ecx
inc eax
xor ecx, ecx
mov dword [esp + 8], eax
cmp ecx, ebp
jge 0x459af7
mov eax, dword [esp + 4]
mov ebx, dword [eax + ecx*4]
bswap ebx
jmp 0x459bc4
mov eax, ecx
mov ebx, dword [esi + ecx*4 - 4]
cdq
idiv ebp
test edx, edx
je 0x459b56
cmp dword [esp + 0x28], 0x1c
jl 0x459bbe
cmp edx, 4
jne 0x459bbe
mov eax, ebx
movzx edx, bh
movzx edi, bl
shr ebx, 0x18
shr eax, 0x10
movzx ebx, byte [ebx + str.cw]
movzx edx, byte [edx + str.cw]
movzx eax, al
movzx eax, byte [eax + str.cw]
shl ebx, 8
or eax, ebx
movzx ebx, byte [edi + str.cw]
shl eax, 8
or edx, eax
shl edx, 8
or ebx, edx
jmp 0x459bbe
mov eax, ebx
movzx edi, bl
movzx edx, bh
shr ebx, 0x18
shr eax, 0x10
mov dword [esp + 0xc], edi
mov edi, dword [esp + 8]
movzx edx, byte [edx + str.cw]
movzx ebx, byte [ebx + str.cw]
movzx eax, al
movzx eax, byte [eax + str.cw]
xor eax, edi
shl eax, 8
or edx, eax
mov eax, dword [esp + 0xc]
shl edx, 8
movzx eax, byte [eax + str.cw]
or eax, edx
mov edx, edi
mov edi, 0x1b
shl eax, 8
or ebx, eax
mov eax, edx
and eax, 0x7f
add eax, eax
test dl, dl
mov edx, 0
cmovs edx, edi
xor edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp]
xor ebx, dword [eax + ecx*4]
mov dword [esi + ecx*4], ebx
inc ecx
mov ebx, dword [esi + 0x3ec]
mov eax, dword [esi + 0x3e8]
lea edx, [ebx + 1]
imul edx, eax
cmp ecx, edx
jl 0x459ae5
jmp 0x459be9
mov eax, 4
test ebx, ebx
js 0x459c9e
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x10], esi
test eax, eax
jle 0x459c92
xor edi, edi
mov dword [esp + 4], edx
mov dword [esp], ebp
lea ecx, [edx + ebx]
imul ecx, eax
add ecx, edi
test ebp, ebp
mov ecx, dword [esi + ecx*4]
je 0x459c71
cmp ebx, ebp
je 0x459c71
mov ebx, ecx
movzx ebp, ch
movzx esi, cl
shr ecx, 0x18
shr ebx, 0x10
movzx edx, byte [ecx + str.cw]
movzx ebx, bl
movzx ecx, byte [ebx + str.cw]
mov ecx, dword [ecx*4 + 0x410728]
xor ecx, dword [edx*4 + 0x410328]
movzx edx, byte [ebp + str.cw]
mov ebp, dword [esp]
xor ecx, dword [edx*4 + 0x410b28]
movzx edx, byte [esi + str.cw]
mov esi, dword [esp + 0x10]
xor ecx, dword [edx*4 + 0x410f28]
mov edx, dword [esp + 4]
imul eax, ebp
add eax, edi
inc edi
mov dword [esi + eax*4 + 0x1e0], ecx
mov eax, dword [esi + 0x3e8]
mov ebx, dword [esi + 0x3ec]
cmp edi, eax
jl 0x459c0a
dec edx
cmp ebp, ebx
lea ebp, [ebp + 1]
jl 0x459bf9
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x459de1
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov eax, dword [0x42b238]
mov edi, dword [esp + 0x4c]
mov ebx, edx
mov esi, ecx
test bl, 0xf
mov dword [esp + 0x34], eax
je 0x459e15
push 0x41f
push str..._sshaes.c
push str._len__15___0
call fcn.004a509d
add esp, 0xc
lea eax, [edi + 0x3c8]
test ebx, ebx
mov dword [esp], eax
movsd xmm0, qword [edi + 0x3c8]
movsd xmm1, qword [edi + 0x3d0]
movsd qword [esp + 0x2c], xmm1
movsd qword [esp + 0x24], xmm0
jle 0x459eb6
mov ebp, 0x10
xor eax, eax
mov ecx, dword [esi + eax*4]
bswap ecx
mov dword [esp + eax*4 + 4], ecx
mov dword [esp + eax*4 + 0x14], ecx
inc eax
cmp eax, 4
jne 0x459e45
lea eax, [esp + 0x14]
push eax
push edi
call dword [edi + 0x3c4]
add esp, 8
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x14]
xor ecx, dword [esp + eax*4 + 0x24]
shr ecx, 0x18
mov byte [esi + eax*4], cl
mov ecx, dword [esp + eax*4 + 0x14]
xor ecx, dword [esp + eax*4 + 0x24]
shr ecx, 0x10
mov byte [esi + eax*4 + 1], cl
mov ecx, dword [esp + eax*4 + 0x14]
xor ecx, dword [esp + eax*4 + 0x24]
mov byte [esi + eax*4 + 2], ch
mov ecx, dword [esp + eax*4 + 0x14]
xor ecx, dword [esp + eax*4 + 0x24]
mov byte [esi + eax*4 + 3], cl
mov ecx, dword [esp + eax*4 + 4]
mov dword [esp + eax*4 + 0x24], ecx
inc eax
cmp eax, 4
jne 0x459e69
add esi, 0x10
cmp ebx, ebp
lea ebx, [ebx - 0x10]
jg 0x459e43
movsd xmm0, qword [esp + 0x24]
movsd xmm1, qword [esp + 0x2c]
mov eax, dword [esp]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x34]
call fcn.00497c4a
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x45a6ff
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov dl, byte [ebx]
mov cl, byte [ebx + 1]
test esi, esi
jle 0x45a773
mov edi, dword [esp + 0x24]
lea eax, [esi + 0xff]
add al, dl
inc dl
mov dword [esp + 4], eax
mov byte [esp + 3], dl
movzx ebp, dl
movzx ecx, cl
movzx eax, byte [ebx + ebp + 2]
add ecx, eax
mov dword [esp + 8], eax
movzx eax, cl
mov dh, byte [ebx + eax + 2]
mov byte [ebx + ebp + 2], dh
mov edx, dword [esp + 8]
mov byte [ebx + eax + 2], dl
movzx eax, byte [ebx + ebp + 2]
add eax, edx
mov dl, byte [esp + 3]
movzx eax, al
mov al, byte [ebx + eax + 2]
inc dl
xor byte [edi], al
inc edi
dec esi
jne 0x45a729
mov eax, dword [esp + 4]
inc al
mov edx, eax
mov byte [ebx], dl
mov byte [ebx + 1], cl
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x45a79d
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebx
push edi
push esi
sub esp, 0x104
mov ebx, dword [esp + 0x114]
mov eax, dword [0x42b238]
mov edi, edx
mov esi, ecx
cmp ebx, 0x101
mov dword [esp + 0x100], eax
jb 0x45a7d9
push 0x26
push str..._ssharcf.c
push str.keybytes___256
call fcn.004a509d
add esp, 0xc
xor ecx, ecx
mov word [esi], 0
xor edx, edx
mov eax, ecx
mov byte [esi + ecx + 2], cl
div ebx
mov al, byte [edi + edx]
mov byte [esp + ecx], al
inc ecx
cmp ecx, 0x100
jne 0x45a7e0
xor ecx, ecx
xor eax, eax
movzx edx, byte [esi + eax + 2]
movzx ebx, byte [esp + eax]
add ecx, edx
add ebx, ecx
movzx ecx, bl
mov bl, byte [esi + ecx + 2]
mov byte [esi + eax + 2], bl
inc eax
mov byte [esi + ecx + 2], dl
cmp eax, 0x100
jne 0x45a7fd
mov ecx, dword [esp + 0x100]
call fcn.00497c4a
add esp, 0x104
pop esi
pop edi
pop ebx
ret
Function at 0x45b189
Capabilities:
Encrypt data using blowfish

Disassembly:
push ebx
push edi
push esi
mov eax, ecx
mov ecx, 0x12
mov esi, 0x412838
movzx ebx, word [esp + 0x10]
lea edi, [eax + 0x1000]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
movups xmm0, xmmword [ecx + 0x412880]
movups xmm1, xmmword [ecx + 0x412c80]
movups xmm2, xmmword [ecx + 0x413080]
movups xmmword [eax + ecx], xmm0
movups xmmword [eax + ecx + 0x400], xmm1
movups xmm1, xmmword [ecx + 0x413480]
movups xmmword [eax + ecx + 0x800], xmm2
movups xmmword [eax + ecx + 0xc00], xmm1
add ecx, 0x10
cmp ecx, 0x400
jne 0x45b1a7
xor ecx, ecx
movsx esi, bx
push ecx
push ecx
push esi
push edx
push eax
call fcn.0045abfa
add esp, 0x14
pop esi
pop edi
pop ebx
ret
Function at 0x45f3cc
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push edi
push esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
test ecx, ecx
je 0x45f3f4
mov edx, dword [esp + 0x10]
movzx esi, byte [edx]
movzx edi, al
shr eax, 8
inc edx
xor edi, esi
xor eax, dword [edi*4 + 0x413ca0]
dec ecx
jne 0x45f3de
pop esi
pop edi
ret

Function at 0x45f3f7
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push edi
push esi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x45f41f
mov edx, dword [esp + 0xc]
xor eax, eax
movzx esi, byte [edx]
movzx edi, al
shr eax, 8
inc edx
xor edi, esi
xor eax, dword [edi*4 + 0x413ca0]
dec ecx
jne 0x45f407
jmp 0x45f421
xor eax, eax
pop esi
pop edi
ret
Function at 0x462edb
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x118
mov eax, dword [0x42b238]
mov edi, dword [esp + 0x130]
mov dword [esp + 0x114], eax
mov eax, dword [edi]
cmp eax, 2
je 0x462f23
xor esi, esi
test eax, eax
jne 0x462fbb
add edi, 0x20
push dword [esp + 0x12c]
push edi
call fcn.00462bbb
add esp, 8
mov esi, eax
jmp 0x462fbb
mov eax, esp
push eax
call fcn.0046c2fc
add esp, 4
mov ebp, dword [edi + 0xc]
shr ebp, 3
je 0x462f6d
xor ebx, ebx
xor edi, edi
lea esi, [esp + 0xd4]
inc edi
push ebx
push dword [esp + 0x130]
call fcn.0045da64
add esp, 8
mov byte [esp + 0xd4], al
push edi
push esi
lea eax, [esp + 8]
push eax
call fcn.0046c333
add esp, 0xc
inc ebx
cmp ebp, ebx
jne 0x462f42
lea esi, [esp + 0xd4]
push esi
lea eax, [esp + 4]
push eax
call fcn.0046d24e
add esp, 8
and byte [esi], 0xf8
mov al, byte [esi + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [esi + 0x1f], al
push 0x20
push esi
call fcn.0045d698
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x130]
add eax, 0x1c
push edi
push eax
call fcn.00462bbb
add esp, 8
mov esi, eax
push edi
call fcn.0045b91a
add esp, 4
mov ecx, dword [esp + 0x114]
call fcn.00497c4a
mov eax, esi
add esp, 0x118
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x464dae
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x30
mov ecx, dword [0x42b238]
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x10]
call dword [eax]
xor ebx, ebx
mov edi, eax
inc ebx
push 0x1c
push ebx
call fcn.0043f807
add esp, 8
mov esi, eax
mov dword [esi], 0
mov dword [esi + 4], edi
cmp dword [edi], ebx
jne 0x464e41
xorps xmm0, xmm0
xor edi, edi
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp], xmm0
call fcn.00469c4e
mov byte [esp + edi], al
inc edi
cmp edi, 0x20
jne 0x464df9
mov edi, esp
mov ebx, 0x20
and byte [edi], 0xf8
mov al, byte [edi + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [edi + 0x1f], al
push ebx
push edi
call fcn.0045d698
add esp, 8
mov dword [esi + 0x18], eax
push ebx
push edi
call fcn.0048f5d3
add esp, 8
mov eax, dword [esi + 0x18]
test eax, eax
je 0x464e96
mov ecx, dword [esi + 4]
add ecx, 0x1c
jmp 0x464e5f
push dword [edi + 0x1c]
push dword [0x42b164]
call fcn.0045d86b
add esp, 8
test eax, eax
mov dword [esi + 0x18], eax
je 0x464e96
mov ecx, dword [esi + 4]
add ecx, 0x20
push eax
push ecx
call fcn.00462bbb
add esp, 8
test eax, eax
je 0x464e8b
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], 0
push eax
call fcn.0043f9d4
add esp, 4
jmp 0x464ea1
push dword [esi + 0x18]
call fcn.0045b91a
add esp, 4
push esi
call fcn.0043f9d4
add esp, 4
xor esi, esi
mov ecx, dword [esp + 0x28]
call fcn.00497c4a
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x467641
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0x10]
mov eax, dword [0x42b238]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movaps xmm0, xmmword [str.6666666666666666hmac_md5]
test edi, edi
mov dword [esp + 0x48], eax
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp], xmm0
jle 0x4676a0
mov al, byte [ebx]
xor al, 0x36
cmp edi, 1
mov byte [esp], al
je 0x4676a0
xor eax, eax
inc eax
mov cl, byte [ebx + eax]
xor byte [esp + eax], cl
lea ecx, [eax + 1]
cmp ecx, edi
jge 0x4676a0
cmp eax, 0x3f
mov eax, ecx
jl 0x46768c
movaps xmm0, xmmword [0x4159b0]
mov esi, esp
xor eax, eax
movups xmmword [edx], xmm0
mov dword [edx + 0x50], eax
mov dword [edx + 0x58], eax
mov dword [edx + 0x54], eax
push pe_nt_image_headers32
push esi
push edx
call fcn.00466c9e
add esp, 0xc
movaps xmm0, xmmword [0x415a00]
test edi, edi
movaps xmmword [esi + 0x30], xmm0
movaps xmmword [esi + 0x20], xmm0
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi], xmm0
jle 0x467700
mov al, byte [ebx]
xor al, 0x5c
cmp edi, 1
mov byte [esp], al
je 0x467700
xor eax, eax
inc eax
mov cl, byte [ebx + eax]
xor byte [esp + eax], cl
lea ecx, [eax + 1]
cmp ecx, edi
jge 0x467700
cmp eax, 0x3f
mov eax, ecx
jl 0x4676ec
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [0x4159b0]
mov edi, pe_nt_image_headers32
xor ecx, ecx
movups xmmword [eax + 0x5c], xmm0
mov dword [eax + 0xac], ecx
mov dword [eax + 0xb4], ecx
mov dword [eax + 0xb0], ecx
lea eax, [eax + 0x5c]
push edi
push esi
push eax
call fcn.00466c9e
add esp, 0xc
push edi
push esi
call fcn.0048f5d3
add esp, 8
mov ecx, dword [esp + 0x48]
call fcn.00497c4a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x469406
Capabilities:
Read file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x404
mov eax, dword [0x42b238]
mov edi, ecx
mov ebx, esp
mov dword [esp + 0x400], eax
push edi
push 0x3ff
push 1
push ebx
call fcn.004a6ec0
add esp, 0x10
mov esi, eax
push edi
call fcn.004a7b25
add esp, 4
test esi, esi
js 0x46944e
xor edi, edi
inc edi
cmp esi, 0x20
jge 0x469455
mov esi, edi
jmp 0x4695df
xor esi, esi
jmp 0x4695df
cmp esi, 0x400
jb 0x469474
push 0x674
push str..._sshpubk.c
push str.i___0__i___sizeof_buf_
call fcn.004a509d
add esp, 0xc
mov byte [esp + esi], 0
push 0x20
push str.SSH_PRIVATE_KEY_FILE_FORMAT_1.1_n
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695b7
push 0x1a
push str._____BEGIN_SSH2_PUBLIC_KEY
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695be
push 0x14
push str.PuTTY_User_Key_File_
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695c5
push 0x1e
push str._____BEGIN_OPENSSH_PRIVATE_KEY
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695cc
push 0xb
push str._____BEGIN
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695d3
push 0x20
push str._____BEGIN_SSH2_ENCRYPTED_PRIVAT
push ebx
call fcn.00498a6d
add esp, 0xc
test eax, eax
je 0x4695da
push str.0123456789
push ebx
call fcn.004a8220
add esp, 8
cmp byte [esp + eax], 0x20
jne 0x469565
lea esi, [esp + eax]
lea eax, [esi + 1]
push str.0123456789
push eax
call fcn.004a8220
add esp, 8
cmp byte [esi + eax + 1], 0x20
jne 0x469565
lea esi, [esi + eax + 1]
lea eax, [esi + 1]
push str.0123456789
push eax
call fcn.004a8220
add esp, 8
mov al, byte [esi + eax + 1]
mov esi, 8
test al, al
je 0x4695df
cmp al, 0xa
je 0x4695df
cmp al, 0x20
je 0x4695df
push 0x415f0c
push ebx
call fcn.004a7d90
add esp, 8
mov esi, eax
push ebx
push esi
call fcn.004680df
add esp, 8
test eax, eax
je 0x469447
lea eax, [esp + esi + 1]
lea ebx, [esp + esi]
push str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
push eax
call fcn.004a8220
add esp, 8
mov al, byte [eax + ebx + 1]
mov esi, 0xa
test al, al
je 0x4695df
cmp al, 0xa
je 0x4695df
cmp al, 0x20
jne 0x469447
jmp 0x4695df
mov esi, 2
jmp 0x4695df
mov esi, 9
jmp 0x4695df
mov esi, 3
jmp 0x4695df
mov esi, 6
jmp 0x4695df
mov esi, 5
jmp 0x4695df
mov esi, 7
mov ecx, dword [esp + 0x400]
call fcn.00497c4a
mov eax, esi
add esp, 0x404
pop esi
pop edi
pop ebx
ret

Function at 0x469c95
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, 0x258
push 1
push ebp
call fcn.0043f807
add esp, 8
mov esi, eax
call fcn.004699a1
mov eax, 0x4271ec
add eax, dword [0x42769c]
push ebp
push eax
push esi
call fcn.0049a1f0
add esp, 0xc
mov dword [ebx], ebp
mov dword [edi], esi
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004699a1
Function at 0x46b6b8
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov dword [esp], edx
mov ebp, dword [esp + 0x70]
mov ebx, ecx
mov eax, dword [0x42b238]
test ebp, ebp
mov dword [esp + 0x50], eax
jle 0x46b781
mov esi, dword [esp + 0x6c]
xor edx, edx
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], ebp
cmp ebp, eax
cmovg ebp, eax
cmp eax, 0x41
jl 0x46b70b
push 0x3ba
push str..._sshrsa.c
push str.h__hlen___SSH2_KEX_MAX_HASH_LEN
mov edi, edx
call fcn.004a509d
mov edx, edi
add esp, 0xc
mov eax, edx
mov dword [esp + 4], edx
shr eax, 0x18
mov byte [esp + 0xc], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0xd], al
mov byte [esp + 0xe], dh
mov byte [esp + 0xf], dl
call dword [ebx]
mov edi, ebx
mov ebx, eax
push dword [esp + 0x68]
push dword [esp + 4]
push ebx
call dword [edi + 8]
add esp, 0xc
push 4
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edi + 8]
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
mov ebx, edi
call dword [ebx + 0xc]
add esp, 8
test ebp, ebp
jle 0x46b76c
xor eax, eax
mov cl, byte [esp + eax + 0x10]
xor byte [esi + eax], cl
inc eax
cmp eax, ebp
jl 0x46b760
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
add esi, ebp
inc edx
sub eax, ebp
mov ebp, eax
jg 0x46b6df
mov ecx, dword [esp + 0x50]
call fcn.00497c4a
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x46d4ac
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [0x42b238]
mov esi, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
lea edi, [esp + 8]
mov ecx, 0x10
mov dword [esp + 0x148], eax
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + eax*4 + 0x28]
xor ecx, dword [esp + eax*4 + 0x3c]
xor ecx, dword [esp + eax*4 + 0x10]
xor ecx, dword [esp + eax*4 + 8]
rol ecx, 1
mov dword [esp + eax*4 + 0x48], ecx
inc eax
cmp eax, 0x40
jne 0x46d4dd
movdqu xmm0, xmmword [edx]
mov esi, dword [edx + 0x10]
xor eax, eax
pshufd xmm1, xmm0, 0xe5
pshufd xmm3, xmm0, 0x4e
pshufd xmm2, xmm0, 0xe7
movd ecx, xmm0
mov edi, esi
mov dword [esp + 4], esi
movd ebp, xmm1
movd ebx, xmm3
movd edx, xmm2
mov dword [esp], edi
mov edi, edx
mov edx, ebx
mov ebx, ebp
mov esi, ebx
and ebp, edx
rol ebx, 0x1e
not esi
and esi, edi
or esi, ebp
mov ebp, ecx
rol ecx, 5
add esi, dword [esp]
add esi, ecx
mov ecx, dword [esp + eax*4 + 8]
inc eax
cmp eax, 0x14
lea ecx, [ecx + esi + 0x5a827999]
jne 0x46d527
xor eax, eax
mov esi, edi
mov edi, edx
mov edx, ebx
mov ebx, ebp
mov ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebx, 0x1e
xor ecx, edx
add ecx, esi
mov esi, ebp
rol esi, 5
add ecx, esi
mov esi, dword [esp + eax*4 + 0x58]
inc eax
cmp eax, 0x14
lea ecx, [esi + ecx + 0x6ed9eba1]
jne 0x46d55a
xor eax, eax
mov esi, edx
mov edx, ebx
mov ebx, ebp
mov dword [esp], edi
mov ebp, edx
mov edi, edx
or ebp, esi
and edi, esi
and ebp, ebx
rol ebx, 0x1e
or edi, ebp
mov ebp, ecx
rol ecx, 5
add edi, dword [esp]
add edi, ecx
mov ecx, dword [esp + eax*4 + 0xa8]
inc eax
cmp eax, 0x14
lea ecx, [ecx + edi - 0x70e44324]
mov edi, esi
jne 0x46d589
xor eax, eax
mov esi, edi
mov edi, edx
mov edx, ebx
mov ebx, ebp
mov ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebx, 0x1e
xor ecx, edx
add ecx, esi
mov esi, ebp
rol esi, 5
add ecx, esi
mov esi, dword [esp + eax*4 + 0xf8]
inc eax
cmp eax, 0x14
lea ecx, [esi + ecx - 0x359d3e2a]
jne 0x46d5c3
movd xmm1, edx
movd xmm2, ebx
movd xmm4, ebp
movd xmm3, ecx
mov eax, dword [esp + 0x160]
punpckldq xmm2, xmm1
punpckldq xmm3, xmm4
punpcklqdq xmm3, xmm2
paddd xmm0, xmm3
movdqu xmmword [eax], xmm0
mov ecx, dword [esp + 4]
add ecx, edi
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x148]
call fcn.00497c4a
add esp, 0x14c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x46d9d2
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov ebx, dword [ebp + 8]
mov eax, dword [0x42b238]
movaps xmm0, xmmword [str.6666666666666666hmac_md5]
mov edi, edx
mov esi, ecx
test ebx, ebx
mov dword [esp + 0x48], eax
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp], xmm0
jle 0x46da2f
mov al, byte [edi]
xor al, 0x36
cmp ebx, 1
mov byte [esp], al
je 0x46da2f
xor eax, eax
inc eax
mov cl, byte [edi + eax]
xor byte [esp + eax], cl
lea ecx, [eax + 1]
cmp ecx, ebx
jge 0x46da2f
cmp eax, 0x3f
mov eax, ecx
jl 0x46da1b
movaps xmm0, xmmword [0x4159b0]
xor eax, eax
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0xc3d2e1f0
mov dword [esi + 0x54], eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
mov eax, esp
push pe_nt_image_headers32
push eax
push esi
call fcn.0046d65f
add esp, 0xc
movaps xmm0, xmmword [0x415a00]
mov eax, esp
test ebx, ebx
mov edx, eax
movaps xmmword [eax + 0x30], xmm0
movaps xmmword [eax + 0x20], xmm0
movaps xmmword [eax + 0x10], xmm0
movaps xmmword [eax], xmm0
jle 0x46da9a
mov al, byte [edi]
xor al, 0x5c
cmp ebx, 1
mov byte [esp], al
je 0x46da9a
xor eax, eax
inc eax
mov cl, byte [edi + eax]
xor byte [esp + eax], cl
lea ecx, [eax + 1]
cmp ecx, ebx
jge 0x46da9a
cmp eax, 0x3f
mov eax, ecx
jl 0x46da86
movaps xmm0, xmmword [0x4159b0]
xor eax, eax
movups xmmword [esi + 0x60], xmm0
mov dword [esi + 0x70], 0xc3d2e1f0
mov dword [esi + 0xb4], eax
mov dword [esi + 0xbc], eax
mov dword [esi + 0xb8], eax
lea eax, [esi + 0x60]
mov esi, pe_nt_image_headers32
push esi
mov edi, edx
push edi
push eax
call fcn.0046d65f
add esp, 0xc
push esi
push edi
call fcn.0048f5d3
add esp, 8
mov ecx, dword [esp + 0x48]
call fcn.00497c4a
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret