Function at 0x4229f0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe8
mov eax, dword [0x44ba94]
mov dword [esp + 0x14], 0x18561670
mov dword [esp + 0x18], 0x1c8b1a89
mov dword [esp + 0x1c], 0xbe1e59
mov dword [esp + 0x20], 0x4a20295
mov dword [esp + 0x24], 0x8070660
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x17
ja 0x422a87
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x83bac1a5
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
mov edx, ecx
not edx
and edx, 0xb0
and ecx, 0x4f
sub ecx, edx
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
cmp ecx, 0x18
jb 0x422a40
lea edi, [esp + 0x88]
lea esi, [esp + 0x14]
push edi
push 0
push 0
push 9
push esi
push 0
call eax
mov ebx, dword [esp + 0x88]
test ebx, ebx
jns 0x422ab0
mov eax, 0xffffffff
jmp 0x422ab3
lea eax, [ebx + ebx]
push eax
call fcn.00409cc0
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [0x44ba94]
mov dword [esp + 0x14], 0x3e78385e
mov dword [esp + 0x18], 0x32ad3caf
mov dword [esp + 0x1c], 0x36903077
mov dword [esp + 0x20], 0x2a9434a3
mov dword [esp + 0x24], 0x2e29284e
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x17
ja 0x422b4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0xd6073201
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0xc6
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
cmp ecx, 0x18
jb 0x422b10
push edi
push ebx
push dword [esp + 0x60]
push 9
push esi
push 0
call eax
mov dword [esp + 0x14], 0xca60c803
mov dword [esp + 0x18], 0xd676d478
mov dword [esp + 0x1c], 0xd263d060
mov dword [esp + 0x20], 0xdedddc7f
lea edx, [esp + 0x24]
mov word [esp + 0x24], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x60]
cmp eax, 0x11
ja 0x422bd9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x22ed3dab
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x9c
mov ecx, dword [esp + 0x60]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x60]
mov eax, dword [esp + 0x60]
cmp eax, 0x12
jb 0x422ba0
lea eax, [esp + 0xd8]
lea esi, [esp + 0x14]
mov edi, eax
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xe8]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x14], 0x2bd32df0
mov dword [esp + 0x18], 0x27d929a7
mov dword [esp + 0x1c], 0x23ac25d7
mov dword [esp + 0x20], 0x3fe121dc
mov dword [esp + 0x24], 0x3bc83ddd
mov dword [esp + 0x28], 0x37b839d9
mov dword [esp + 0x2c], 0x333235bd
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1b
ja 0x422c8b
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x71a32762
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0xb2
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1c
jb 0x422c50
lea edx, [esp + 0xbc]
lea esi, [esp + 0x14]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xd8]
lea esi, [esp + 0x30]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x14], 0x50baae6b
mov dword [esp + 0x18], 0x54b052c6
mov dword [esp + 0x1c], 0x58cb56c6
mov dword [esp + 0x20], 0x5cad5abf
mov dword [esp + 0x24], 0x40835eab
lea ebx, [esp + 0x28]
mov dword [esp + 0x28], 0x4243
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x17
ja 0x422d54
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
movzx esi, byte [esp + esi + 0x14]
add ecx, 0x8bc7867e
xor ecx, esi
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
add cl, 0x2f
mov esi, dword [esp + 0x8c]
mov byte [esp + esi + 0x14], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x18
jb 0x422d10
lea esi, [esp + 0x60]
lea ebp, [esp + 0x14]
mov ecx, 5
mov edi, esi
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
lea edi, [esp + 0x74]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x58]
add eax, 2
mov dword [esp + 0x9c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x78], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4480f4]
sub eax, 0x2df90042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x100422d], dh