Function at 0x1000961d
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1bc
push ebx
push ebp
push esi
push edi
push dword [esp + 0x1e4]
mov ebp, ecx
push dword [esp + 0x1e4]
push dword [esp + 0x1e4]
push dword [esp + 0x1e4]
push dword [esp + 0x1e4]
push dword [esp + 0x1e4]
push edx
push ebp
call fcn.100109b0
mov dword [esp + 0xd8], 0xb8fd84
xor ebx, ebx
and dword [esp + 0xe0], ebx
add esp, 0x20
and dword [esp + 0xc4], ebx
xor edx, edx
mov dword [esp + 0xbc], 0x30354a
mov ecx, 0x7e79260
mov dword [esp + 0x20], 0x72d803
xor dword [esp + 0x20], 0x85484a83
shl dword [esp + 0x20], 9
imul eax, dword [esp + 0x20], 0x2e
push 0x3f
pop esi
push 0x6d
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0xcaf5b5a
mov dword [esp + 0x94], 0x6c73a5
mov eax, dword [esp + 0x94]
div esi
xor edx, edx
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0xa9eeb
mov dword [esp + 0x80], 0xd1ebb1
mov eax, dword [esp + 0x80]
pop esi
div esi
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0x5d402
mov dword [esp + 0x38], 0x8bd651
imul eax, dword [esp + 0x38], 0xc
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0x3116
shl dword [esp + 0x38], 5
xor dword [esp + 0x38], 0xd1ce264a
mov dword [esp + 0x84], 0x8e0e35
shl dword [esp + 0x84], 8
xor dword [esp + 0x84], 0x8e0e41da
mov dword [esp + 0x24], 0x779e7
add dword [esp + 0x24], 0xcdc3
add dword [esp + 0x24], 0xffff8605
imul eax, dword [esp + 0x24], 0x15
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0xa33ac6
mov dword [esp + 0x44], 0x8a7281
shl dword [esp + 0x44], 0xd
shl dword [esp + 0x44], 9
xor dword [esp + 0x44], 0xa0439308
mov dword [esp + 0x94], 0xd826bf
shl dword [esp + 0x94], 0xd
xor dword [esp + 0x94], 0x4da7f03
mov dword [esp + 0x48], 0xe655bd
or dword [esp + 0x48], 0x7f2166ab
add dword [esp + 0x48], 0x5d44
xor dword [esp + 0x48], 0x7fef8fa5
mov dword [esp + 0x18], 0x5581f7
add dword [esp + 0x18], 0xffffcf2c
add dword [esp + 0x18], 0x79e4
xor dword [esp + 0x18], 0xc117f512
xor dword [esp + 0x18], 0xc14e3e21
mov dword [esp + 0x14], 0x5f3e4b
add dword [esp + 0x14], 0x7d59
shr dword [esp + 0x14], 0xa
shr dword [esp + 0x14], 0xc
xor dword [esp + 0x14], 0xe44a8
mov dword [esp + 0x8c], 0x49cfef
shl dword [esp + 0x8c], 7
xor dword [esp + 0x8c], 0x24edb2fe
xor edx, edx
mov dword [esp + 0x2c], 0xf5c040
add dword [esp + 0x2c], 0xffff752b
mov eax, dword [esp + 0x2c]
push 0x23
pop esi
div esi
push 0x74
mov dword [esp + 0x30], eax
xor edx, edx
shl dword [esp + 0x30], 7
xor dword [esp + 0x30], 0x38e7ca4
mov dword [esp + 0x64], 0xfea1a0
or dword [esp + 0x64], 0xe3d6b959
xor dword [esp + 0x64], 0xe3f7a8f8
mov dword [esp + 0x5c], 0x2b8988
xor dword [esp + 0x5c], 0x75b6fb78
imul eax, dword [esp + 0x5c], 0x7b
pop esi
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0x82ad3585
mov dword [esp + 0x80], 0xfe2bbc
add dword [esp + 0x80], 0xffff88bf
xor dword [esp + 0x80], 0xf1f374
mov dword [esp + 0x50], 0xd5cdcd
shl dword [esp + 0x50], 5
imul eax, dword [esp + 0x50], 0x31
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x1d80b405
mov dword [esp + 0x78], 0x532022
or dword [esp + 0x78], 0x27f9b2aa
xor dword [esp + 0x78], 0x27f2818c
mov dword [esp + 0x70], 0xc2bec7
shr dword [esp + 0x70], 4
xor dword [esp + 0x70], 0x66cf0
mov dword [esp + 0x68], 0x85ae0a
or dword [esp + 0x68], 0xf4d583d
xor dword [esp + 0x68], 0xfc76231
mov dword [esp + 0x30], 0x101d88
mov eax, dword [esp + 0x30]
div esi
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0xffffd2e5
or dword [esp + 0x30], 0x4137d603
xor dword [esp + 0x30], 0xfffdee34
mov dword [esp + 0x64], 0x6d3e7
xor dword [esp + 0x64], 0x79b3b5f7
xor dword [esp + 0x64], 0x79b262d4
mov dword [esp + 0x1c], 0x2d4f1
shl dword [esp + 0x1c], 9
add dword [esp + 0x1c], 0x39aa
add dword [esp + 0x1c], 0x8e94
xor dword [esp + 0x1c], 0x5af846e
mov dword [esp + 0x40], 0x70a702
imul eax, dword [esp + 0x40], 0x53
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 7
xor dword [esp + 0x40], 0x470e19
mov dword [esp + 0x88], 0x200810
xor dword [esp + 0x88], 0x166c86ba
xor dword [esp + 0x88], 0x164dea2a
mov dword [esp + 0x3c], 0xdf77cd
shl dword [esp + 0x3c], 3
or dword [esp + 0x3c], 0xebffbb3e
xor dword [esp + 0x3c], 0xefff6b13
mov dword [esp + 0x34], 0xf258c4
xor dword [esp + 0x34], 0xed08e0a9
add dword [esp + 0x34], 0xffff1036
add dword [esp + 0x34], 0x85b0
xor dword [esp + 0x34], 0xedfbf369
mov dword [esp + 0x6c], 0x3a04f6
add dword [esp + 0x6c], 0xe205
xor dword [esp + 0x6c], 0x3969f7
mov dword [esp + 0x54], 0xde5b75
or dword [esp + 0x54], 0xd80e5eb
shl dword [esp + 0x54], 0xc
xor dword [esp + 0x54], 0xeff3dc6a
mov dword [esp + 0x74], 0xc20c81
imul eax, dword [esp + 0x74], 0xb
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x85d9bfe
mov dword [esp + 0x9c], 0x8ba5c
add dword [esp + 0x9c], 0xffffb474
xor dword [esp + 0x9c], 0x682a8
mov dword [esp + 0x98], 0xa7b36b
add dword [esp + 0x98], 0x9a92
xor dword [esp + 0x98], 0xaea04b
mov dword [esp + 0x28], 0xfc5060
add dword [esp + 0x28], 0xffffdae8
imul eax, dword [esp + 0x28], 0x5d
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x28], eax
shr dword [esp + 0x28], 2
xor dword [esp + 0x28], 0x16e26d62
mov dword [esp + 0x4c], 0x75df9b
shr dword [esp + 0x4c], 0xe
add dword [esp + 0x4c], 0xc53c
xor dword [esp + 0x4c], 0x218ae
mov dword [esp + 0x5c], 0xdf95aa
add dword [esp + 0x5c], 0x3271
xor dword [esp + 0x5c], 0xbc0f5b4c
xor dword [esp + 0x5c], 0xbcd09757
mov eax, 0x904a402
cmp ecx, 0x7e79260
jg 0x10009c80
je 0x10009c2d
cmp ecx, 0x6f19bf
je 0x10009bd8
cmp ecx, 0x1d71d35
je 0x10009bb1
cmp ecx, 0x54ce9b2
je 0x10009b7a
cmp ecx, 0x5edb3f2
jne 0x10009def
mov edx, dword [esp + 0x1d8]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
call fcn.10013dbc
pop ecx
pop ecx
test eax, eax
je 0x10009b6e
xor ebx, ebx
mov edi, 0x6c7a07f
inc ebx
jmp 0x10009b73
mov edi, 0x54ce9b2
mov ecx, 0x1d71d35
jmp 0x10009aff
mov ecx, dword [0x3133cec]
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + 0x48]
inc dword [ecx + 0x24]
mov edx, dword [ecx + 0x24]
mov dword [ecx + 0x3c], eax
test eax, eax
jne 0x10009b99
mov eax, dword [ecx + 0x34]
mov dword [ecx + 0x3c], eax
mov eax, dword [0x3133cec]
cmp edx, dword [eax + 8]
jae 0x10009dfd
mov ecx, 0x7e79260
jmp 0x10009aff
push dword [esp + 0x88]
mov edx, dword [esp + 0x44]
push dword [esp + 0xb4]
mov ecx, dword [esp + 0x24]
call fcn.1000f676
pop ecx
pop ecx
mov ecx, 0x6f19bf
jmp 0x10009aff
push dword [esp + 0x6c]
mov edx, dword [esp + 0x38]
push dword [esp + 0xa4]
mov ecx, dword [esp + 0x44]
call fcn.1000f676
push dword [esp + 0xa4]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x60]
push esi
call fcn.1000f676
push dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
push dword [esp + 0xbc]
mov ecx, dword [esp + 0xb0]
call fcn.1000f676
add esp, 0x18
mov ecx, edi
jmp 0x10009dea
lea eax, [esp + 0xc8]
mov ecx, 0x100
push eax
push dword [esp + 0x3c]
xor esi, esi
push dword [esp + 0x84]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x30]
call 0x10021e34
and dword [esp + 0xb8], esi
add esp, 0x10
and dword [esp + 0xac], esi
mov ecx, 0xbe54243
and dword [esp + 0xa0], esi
and dword [esp + 0xa4], esi
jmp 0x10009aff
cmp ecx, 0x892a24f
je 0x10009d65
cmp ecx, eax
je 0x10009d1f
cmp ecx, 0xbe54243
je 0x10009ce5
cmp ecx, 0xdb27d4f
jne 0x10009def
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0xa0]
cmp eax, dword [esp + 0x5c]
jae 0x10009cc3
call fcn.10008a3c
jmp 0x10009ccf
lea edx, [esp + 0xa8]
call fcn.1000fcde
mov esi, eax
mov ecx, 0x6f19bf
test esi, esi
mov eax, 0x904a402
cmovne ecx, eax
jmp 0x10009b04
push dword [esp + 0x44]
lea eax, [esp + 0xa4]
mov ecx, ebp
push dword [esp + 0x1e8]
push dword [esp + 0x2c]
mov edx, dword [esp + 0x90]
push eax
call fcn.1000e01a
add esp, 0x10
test eax, eax
je 0x10009e07
mov ecx, 0xdb27d4f
jmp 0x10009aff
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x94]
push ecx
push 1
push 0x40
pop ecx
call 0x10021d78
push eax
push dword [esp + 0x38]
lea eax, [esp + 0xd8]
push dword [esp + 0x9c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push eax
push 0xb
call fcn.1000264f
add esp, 0x1c
mov ecx, 0x892a24f
jmp 0x10009aff
lea eax, [esp + 0xc8]
push eax
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x74]
lea edx, [esp + 0xc0]
push dword [esp + 0x80]
push dword [esp + 0x8c]
push dword [esp + 0x68]
mov eax, dword [0x3133cec]
mov eax, dword [eax + 0x3c]
movzx eax, word [eax + 0x44]
push eax
push dword [esp + 0xa0]
push dword [esp + 0x7c]
mov eax, dword [0x3133cec]
mov eax, dword [eax + 0x3c]
add eax, 4
push eax
push dword [esp + 0x8c]
mov eax, dword [0x3133cec]
mov eax, dword [eax + 0x3c]
movzx ecx, word [eax + 0x38]
call fcn.1001c34c
add esp, 0x30
test eax, eax
je 0x10009de0
mov ecx, 0x5edb3f2
jmp 0x10009aff
mov edi, 0x54ce9b2
mov ecx, 0x6f19bf
mov eax, 0x904a402
cmp ecx, 0x6c7a07f
jne 0x10009b04
jmp 0x10009e07
mov ecx, dword [0x3133cec]
and dword [ecx + 0x24], 0
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x1bc
ret