Function at 0x470a36
Capabilities:
Contain obfuscated stackstrings
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49c487
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x250
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], 0x5c184c50
mov dword [ebp - 0x60], 0
jmp 0x470a72
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jge 0x470a88
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x1cc], 1
jmp 0x470a6b
mov dword [ebp - 0x30], 0
jmp 0x470a98
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jl 0x470bb8
mov dword [ebp - 0xd8], 0x73a0
mov dword [ebp - 0x150], 0xa9b27c
cmp dword [ebp - 0xd8], 0x769e
jle 0x470b5a
and dword [ebp - 0x58], 0
jmp 0x470ad3
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x6b6f
jge 0x470b5a
and dword [ebp - 0x38], 0
jmp 0x470ae9
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xd06
jge 0x470b55
and dword [ebp - 0x64], 0
jmp 0x470aff
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x6e39
jge 0x470b53
and dword [ebp - 0x40], 0
jmp 0x470b15
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x6aec
jge 0x470b51
mov eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x40]
xor eax, ecx
cdq
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], edx
push dword [ebp - 0x110]
push dword [ebp - 0x114]
mov ecx, 0xaa71a0
call fcn.00417cc4
jmp 0x470b0e
jmp 0x470af8
jmp 0x470ae2
jmp 0x470acc
mov byte [ebp - 0x1c], 0
and dword [ebp - 4], 0
cmp dword [ebp - 0xd8], 0x7302
jge 0x470b80
push dword [ebp - 0x150]
push 0xaa71a0
call fcn.00419747
pop ecx
pop ecx
jmp 0x470b9c
or dword [ebp - 4], 0xffffffff
jmp 0x470ba6
movzx eax, byte [ebp - 0x1c]
test eax, eax
je 0x470bb3
call fcn.0047072b
jmp 0x470a91
mov byte [ebp - 0xa4], 9
mov byte [ebp - 0xa3], 0xe2
mov byte [ebp - 0xa2], 0x11
mov byte [ebp - 0xa1], 0x18
mov byte [ebp - 0xa0], 4
mov byte [ebp - 0x9f], 0x17
mov byte [ebp - 0x9e], 0xa
mov byte [ebp - 0x9d], 0xe
mov byte [ebp - 0x9c], 0
mov byte [ebp - 0x9b], 0xa
mov byte [ebp - 0x9a], 0xc
mov byte [ebp - 0x99], 0xc
mov byte [ebp - 0x98], 0xf
mov byte [ebp - 0x97], 0x1d
mov byte [ebp - 0x96], 0x19
mov byte [ebp - 0x95], 0xa
mov byte [ebp - 0x94], 0x15
mov byte [ebp - 0x93], 0xc
mov byte [ebp - 0x92], 0x18
mov byte [ebp - 0x91], 0xf
mov byte [ebp - 0x90], 0xb
mov byte [ebp - 0x8f], 0x64
mov byte [ebp - 0x8e], 0x98
mov byte [ebp - 0x8d], 0xae
mov byte [ebp - 0x8c], 4
mov byte [ebp - 0x8b], 0xea
mov byte [ebp - 0x8a], 0x2f
mov byte [ebp - 0x89], 0xad
mov byte [ebp - 0x88], 0x67
mov byte [ebp - 0x87], 0x93
mov byte [ebp - 0x86], 0xd3
mov byte [ebp - 0x85], 0x1a
mov byte [ebp - 0x84], 0x10
mov byte [ebp - 0x83], 8
mov byte [ebp - 0x82], 3
mov byte [ebp - 0x81], 0x15
mov byte [ebp - 0x80], 0xe
mov byte [ebp - 0x7f], 0xb
mov byte [ebp - 0x7e], 7
mov byte [ebp - 0x7d], 7
mov byte [ebp - 0x7c], 5
mov byte [ebp - 0x7b], 0xe
mov byte [ebp - 0x7a], 0x14
mov byte [ebp - 0x79], 0x13
mov byte [ebp - 0x78], 0x12
mov byte [ebp - 0x77], 6
mov byte [ebp - 0x76], 1
mov byte [ebp - 0x75], 0x11
mov byte [ebp - 0x74], 8
mov byte [ebp - 0x73], 0xb
mov byte [ebp - 0x72], 0xb
mov byte [ebp - 0x71], 5
mov byte [ebp - 0x70], 0x13
mov byte [ebp - 0x6f], 0x18
mov byte [ebp - 0x6e], 6
mov byte [ebp - 0x6d], 0x13
mov byte [ebp - 0x6c], 0x17
mov byte [ebp - 0x6b], 0x1f
mov byte [ebp - 0x6a], 2
mov byte [ebp - 0x69], 0x1b
mov byte [ebp - 0x68], 0xd
mov byte [ebp - 0x67], 0xd
mov byte [ebp - 0x66], 0x16
mov byte [ebp - 0x65], 0x19
mov dword [ebp - 0xb4], 0xd0d3f7bf
mov dword [ebp - 0x18], 0x1c71bc7d
mov dword [ebp - 0x104], 1
push 1
lea ecx, [ebp - 0x198]
call fcn.00417e08
mov dword [ebp - 0xac], 1
mov dword [ebp - 0x148], 0
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.00443026
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x470d89
mov dword [ebp - 0xc4], 1
jmp 0x470d90
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xc4]
jne 0x470da7
mov dword [ebp - 0x140], 1
jmp 0x470dae
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x18], 0xffffffff
jle 0x470dd2
mov dword [ebp - 0x108], 1
jmp 0x470dd9
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x104], eax
jne 0x470dfc
mov dword [ebp - 0xa8], 1
jmp 0x470e03
and dword [ebp - 0xa8], 0
push 0
lea ecx, [ebp - 0x198]
call fcn.0040181b
mov ecx, dword [ebp - 0xa8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xa8]
jl 0x470e32
cmp dword [ebp - 0x18], 0
jne 0x470e32
and dword [ebp - 0xcc], 0
jmp 0x470e3c
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xb4], eax
jle 0x470e69
mov dword [ebp - 0xec], 1
jmp 0x470e70
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xec]
lea eax, [ecx + eax + 0x1307]
imul eax, dword [ebp - 0xac]
imul eax, eax, 0x5d3e
cmp eax, dword [ebp - 0xac]
je 0x470ea4
mov dword [ebp - 0xd4], 1
jmp 0x470eab
and dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 1
je 0x470ec0
mov dword [ebp - 0xfc], 1
jmp 0x470ec7
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x198]
call fcn.00417ea4
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xa4]
or eax, 0x88
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xa4]
and ecx, 0x88
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xa4]
mov byte [ebp + ecx - 0x1c4], al
mov dword [ebp - 0x14], 2
and dword [ebp - 0x50], 0
jmp 0x470f31
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x40
jae 0x4710fe
mov dword [ebp - 0x1e0], 0
call fcn.00470755
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x47105b
mov dword [ebp - 0xdc], 0xc0e
mov dword [ebp - 0x120], 0xa9b2d8
cmp dword [ebp - 0xdc], 0xee0
jle 0x471011
and dword [ebp - 0x5c], 0
jmp 0x470f8b
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x2319
jge 0x471011
and dword [ebp - 0x24], 0
jmp 0x470fa1
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x830
jge 0x47100c
and dword [ebp - 0x48], 0
jmp 0x470fb7
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x3dec
jge 0x47100a
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x5c]
cdq
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x248]
call fcn.00401f5e
pop ecx
pop ecx
mov ecx, eax
call fcn.00417c99
push eax
call fcn.00484c7a
pop ecx
lea ecx, [ebp - 0x248]
call fcn.00401394
jmp 0x470fb0
jmp 0x470f9a
jmp 0x470f84
call fcn.00470858
mov dword [ebp - 4], 2
cmp dword [ebp - 0xdc], 0xae5
jge 0x471035
push dword [ebp - 0x120]
call fcn.00484c7a
pop ecx
jmp 0x471051
or dword [ebp - 4], 0xffffffff
jmp 0x47105b
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xa4]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x47109b
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xa4]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xa4]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x470f29
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xa3]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x50]
movzx ecx, byte [ebp + ecx - 0xa6]
movsx ecx, byte [ebp + ecx - 0x1c4]
or eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa3]
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x50]
movzx edx, byte [ebp + edx - 0xa6]
movsx edx, byte [ebp + edx - 0x1c4]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xa4]
mov byte [ebp + ecx - 0x1c4], al
and dword [ebp - 0x50], 0
jmp 0x470f29
mov dword [ebp - 0x1e4], 0x5dce
mov dword [ebp - 0x1dc], 0xffffffff
push 3
lea ecx, [ebp - 0x18c]
call fcn.00417e08
mov dword [ebp - 0x20], 0
jmp 0x47112f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x471145
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1ec], 0xffffffff
jmp 0x471128
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0044cb91
pop ecx
pop ecx
push 2
lea ecx, [ebp - 0x18c]
call fcn.0040181b
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xf4]
mov dword [ecx], eax
lea ecx, [ebp - 0x18c]
call fcn.00417ea4
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x1c4], 0
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x228]
call fcn.0046429a
and dword [ebp - 0x28], 0
jmp 0x4711b3
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x1b
jae 0x4711c6
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x1c4], 0
jmp 0x4711ac
mov dword [ebp - 0x1d0], 0x5720e83c
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xe4], 0x43d9532b
mov dword [ebp - 0x144], 0xad86e52d
mov dword [ebp - 0xc8], 0xafc37186
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x1a8], 0xffffffff
mov dword [ebp - 0x1a4], 0xffffffff
mov dword [ebp - 0x1a0], 0xffffffff
mov dword [ebp - 0x19c], 0xffffffff
mov dword [ebp - 0xe8], 0xcd329b3a
lea eax, [ebp - 0xe8]
push eax
call fcn.0044baa2
pop ecx
mov dword [ebp - 0xe4], 2
mov eax, dword [ebp - 0xe4]
add eax, 0x7223
mov dword [ebp - 0xc0], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xc0]
mov dword [ebp + eax - 0x1a8], ecx
cmp dword [ebp - 0xc0], 1
ja 0x471283
mov dword [ebp - 0xe0], 1
jmp 0x47128a
and dword [ebp - 0xe0], 0
mov dword [ebp - 0xc8], 1
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0xb0], eax
jl 0x4712ae
mov dword [ebp - 0xd0], 1
jmp 0x4712b5
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0xe8]
je 0x4712ed
mov dword [ebp - 0xf0], 1
jmp 0x4712f4
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x144], eax
push 0xa8f3f5
lea ecx, [ebp - 0x204]
call fcn.0046429a
push 3
lea ecx, [ebp - 0x160]
call fcn.00417e08
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.00470867
pop ecx
pop ecx
push 0
lea ecx, [ebp - 0x160]
call fcn.0040181b
cmp dword [eax], 0
je 0x47135d
mov dword [ebp - 0x12c], 0xfffffff6
mov dword [ebp - 0x12c], 9
jmp 0x4714a4
mov dword [ebp - 0x174], 0x60417be1
mov dword [ebp - 0x170], 0x60417be1
mov dword [ebp - 0x16c], 0x60417be1
mov dword [ebp - 0x168], 0x60417be1
lea ecx, [ebp - 0xb5]
call fcn.00417ea9
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x230]
call fcn.00417eac
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x138]
call fcn.00417e7e
push 2
lea ecx, [ebp - 0x138]
call fcn.0040181b
and dword [eax], 0
jmp 0x4713f0
push 2
lea ecx, [ebp - 0x138]
call fcn.0040181b
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xf8]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0x138]
call fcn.0040181b
cmp dword [eax], 8
jg 0x471499
mov dword [ebp - 0x14c], 0
push 4
lea ecx, [ebp - 0x180]
call fcn.00417e08
mov dword [ebp - 0x2c], 0
jmp 0x47142d
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x471449
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x180]
call fcn.0040181b
mov dword [eax], 0xee72c34c
jmp 0x471426
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.004708af
add esp, 0x10
mov byte [ebp - 0x1b], 0
movzx eax, byte [ebp - 0x1b]
test eax, eax
je 0x471489
push 0xe4
push 0x12fa
call dword [0xaaa434]
lea ecx, [ebp - 0x180]
call fcn.00417ea4
jmp 0x4713cc
lea ecx, [ebp - 0x138]
call fcn.00417ea4
lea ecx, [ebp - 0x160]
call fcn.00417ea4
lea ecx, [ebp - 0x204]
call fcn.00464315
cmp eax, dword [ebp + 0xc]
je 0x47162d
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.004709c3
pop ecx
pop ecx
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.004709f6
add esp, 0xc
mov dword [ebp - 0x100], 0x276b
mov dword [ebp - 0x154], 0xa9b31c
cmp dword [ebp - 0x100], 0x29c9
jle 0x4715e3
push 0
push 0
push 0
call dword [0xaaa20c]
and dword [ebp - 0x44], 0
jmp 0x471532
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x32c4
jge 0x4715e3
and dword [ebp - 0x34], 0
jmp 0x47154c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x2533
jge 0x4715de
and dword [ebp - 0x3c], 0
jmp 0x471566
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x3f45
jge 0x4715d9
and dword [ebp - 0x4c], 0
jmp 0x47157c
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x3ede
jge 0x4715d7
mov eax, dword [ebp - 0x34]
cdq
idiv dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea ecx, [ebp - 0x260]
call fcn.00401f5e
pop ecx
pop ecx
mov ecx, eax
call fcn.00417c99
push eax
call fcn.00484c7a
pop ecx
lea ecx, [ebp - 0x260]
call fcn.00401394
jmp 0x471575
jmp 0x47155f
jmp 0x471545
jmp 0x47152b
mov dword [ebp - 4], 4
cmp dword [ebp - 0x100], 0x254a
jge 0x471602
push dword [ebp - 0x154]
call fcn.00484c7a
pop ecx
jmp 0x47161e
or dword [ebp - 4], 0xffffffff
jmp 0x471628
jmp 0x4714af
mov dword [ebp - 0x10c], 0xfffffff9
mov dword [ebp - 0x54], 0
jmp 0x471647
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x47165d
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x210], 0x39b6
jmp 0x471640
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x210]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x19], 0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x471681
call fcn.00442d54
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp + 8]
call fcn.004750e5
lea ecx, [ebp - 0x204]
call fcn.004642c9
lea ecx, [ebp - 0x228]
call fcn.004642c9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret