Function at 0x1001f010
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xf8
mov ecx, dword [esp + 0xfc]
push ebx
xor ebx, ebx
push esi
mov esi, dword [esp + 0x108]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov edx, esi
lea ecx, [ecx]
mov eax, dword [ecx]
add dword [esp + eax*4 + 0x44], 1
lea eax, [esp + eax*4 + 0x44]
add ecx, 4
sub edx, 1
jne 0x1001f070
cmp dword [esp + 0x44], esi
jne 0x1001f0a6
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [eax], ebx
pop esi
mov dword [ecx], ebx
xor eax, eax
pop ebx
add esp, 0xf8
ret
mov esi, dword [esp + 0x11c]
push ebp
mov ebp, dword [esi]
mov dword [esp + 0xc], ebp
mov ecx, 1
lea esp, [esp]
cmp dword [esp + ecx*4 + 0x48], ebx
jne 0x1001f0ce
add ecx, 1
cmp ecx, 0xf
jbe 0x1001f0c0
cmp ebp, ecx
mov eax, ecx
mov dword [esp + 0x14], eax
jae 0x1001f0de
mov dword [esp + 0xc], ecx
mov ebp, ecx
mov edx, 0xf
cmp dword [esp + edx*4 + 0x48], ebx
jne 0x1001f0ee
sub edx, 1
jne 0x1001f0e3
cmp ebp, edx
mov dword [esp + 0x24], edx
jbe 0x1001f0fc
mov dword [esp + 0xc], edx
mov ebp, edx
mov dword [esi], ebp
mov esi, 1
shl esi, cl
cmp ecx, edx
jae 0x1001f11f
lea esp, [esp]
sub esi, dword [esp + ecx*4 + 0x48]
js 0x1001f149
add ecx, 1
add esi, esi
cmp ecx, edx
jb 0x1001f110
lea ecx, [edx*4]
mov dword [esp + 0x28], ecx
lea ecx, [esp + ecx + 0x48]
push edi
mov edi, dword [ecx]
sub esi, edi
mov dword [esp + 0x48], esi
jns 0x1001f158
pop edi
pop ebp
pop esi
mov eax, 0xfffffffd
pop ebx
add esp, 0xf8
ret
pop ebp
pop esi
mov eax, 0xfffffffd
pop ebx
add esp, 0xf8
ret
add edi, esi
mov dword [ecx], edi
xor ecx, ecx
sub edx, 1
mov dword [esp + 0x90], ebx
je 0x1001f183
xor edi, edi
lea esp, [esp]
add ecx, dword [esp + edi + 0x50]
add edi, 4
sub edx, 1
mov dword [esp + edi + 0x90], ecx
jne 0x1001f170
mov edx, dword [esp + 0x10c]
xor edi, edi
lea esp, [esp]
mov ecx, dword [edx]
add edx, 4
cmp ecx, ebx
mov dword [esp + 0x1c], edx
je 0x1001f1c0
mov edx, dword [esp + ecx*4 + 0x8c]
mov ebx, dword [esp + 0x130]
lea ecx, [esp + ecx*4 + 0x8c]
mov dword [ebx + edx*4], edi
add edx, 1
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
xor ebx, ebx
add edi, 1
cmp edi, dword [esp + 0x110]
jb 0x1001f190
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + edx + 0x8c]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x8c], ebx
mov ebx, ebp
mov dword [esp + 0x110], ecx
xor ecx, ecx
or edi, 0xffffffff
neg ebx
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], ecx
jg 0x1001f4a7
mov esi, dword [esp + 0x38]
lea ecx, [eax - 1]
lea edx, [esp + eax*4 + 0x4c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
lea esp, [esp]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx]
test ecx, ecx
mov dword [esp + 0x20], ecx
je 0x1001f486
sub dword [esp + 0x20], 1
lea ecx, [ebx + ebp]
cmp eax, ecx
jle 0x1001f368
mov dword [esp + 0x3c], ecx
mov ecx, ebx
sub ecx, ebp
jmp 0x1001f268
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
add dword [esp + 0x3c], ebp
add ebx, ebp
add edi, 1
add ecx, ebp
sub edx, ebx
cmp edx, ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], ecx
jbe 0x1001f287
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov ecx, eax
sub ecx, ebx
mov eax, 1
shl eax, cl
add ebp, 1
cmp eax, ebp
jbe 0x1001f2ce
mov ebp, dword [esp + 0x30]
or edi, 0xffffffff
sub edi, dword [esp + 0x20]
add eax, edi
cmp ecx, edx
jae 0x1001f2ca
add ecx, 1
cmp ecx, edx
jae 0x1001f2ca
mov edi, dword [ebp + 4]
add ebp, 4
add eax, eax
cmp eax, edi
jbe 0x1001f2ca
add ecx, 1
sub eax, edi
cmp ecx, edx
jb 0x1001f2b5
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x12c]
mov eax, dword [eax]
mov edx, 1
shl edx, cl
mov dword [esp + 0x14], edx
add edx, eax
cmp edx, 0x5a0
ja 0x1001f4c2
test edi, edi
mov ebp, dword [esp + 0x128]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x2c], ebp
mov dword [esp + edi*4 + 0xcc], ebp
mov dword [eax], edx
je 0x1001f34f
mov esi, dword [esp + 0x24]
mov dl, byte [esp + 0x10]
mov eax, esi
mov byte [esp + 0x34], cl
mov ecx, dword [esp + 0x44]
mov dword [esp + edi*4 + 0x8c], esi
shr eax, cl
mov ecx, dword [esp + edi*4 + 0xc8]
mov esi, ebp
sub esi, ecx
mov byte [esp + 0x35], dl
mov edx, dword [esp + 0x34]
sar esi, 3
sub esi, eax
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
jmp 0x1001f358
mov eax, dword [esp + 0x120]
mov dword [eax], ebp
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
cmp eax, ecx
jg 0x1001f260
mov ecx, dword [esp + 0x130]
mov ebp, dword [esp + 0x1c]
mov dl, al
sub dl, bl
mov byte [esp + 0x35], dl
mov edx, dword [esp + 0x110]
lea ecx, [ecx + edx*4]
cmp ebp, ecx
jb 0x1001f390
mov byte [esp + 0x34], 0xc0
jmp 0x1001f3d6
mov esi, dword [ebp]
mov ecx, dword [esp + 0x114]
cmp esi, ecx
jae 0x1001f3ae
cmp esi, 0x100
sbb dl, dl
and dl, 0xa0
add dl, 0x60
jmp 0x1001f3cb
sub esi, ecx
mov ecx, dword [esp + 0x11c]
add esi, esi
add esi, esi
mov dl, byte [esi + ecx]
mov ecx, dword [esp + 0x118]
mov esi, dword [esi + ecx]
add dl, 0x50
add ebp, 4
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x34], dl
mov ecx, eax
mov eax, dword [esp + 0x24]
sub ecx, ebx
mov edx, 1
shl edx, cl
mov ecx, ebx
shr eax, cl
cmp eax, dword [esp + 0x14]
jae 0x1001f41a
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + eax*8]
jmp 0x1001f400
mov ebp, dword [esp + 0x34]
mov dword [ecx], ebp
lea ebp, [edx*8]
mov dword [ecx + 4], esi
add eax, edx
add ecx, ebp
cmp eax, dword [esp + 0x14]
jb 0x1001f400
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
mov eax, 1
shl eax, cl
test edx, eax
je 0x1001f438
lea ecx, [ecx]
xor edx, eax
shr eax, 1
test edx, eax
jne 0x1001f430
xor edx, eax
mov eax, 1
mov ecx, ebx
shl eax, cl
mov dword [esp + 0x24], edx
sub eax, 1
and eax, edx
cmp eax, dword [esp + edi*4 + 0x8c]
je 0x1001f473
sub ebx, dword [esp + 0x10]
mov eax, 1
mov ecx, ebx
shl eax, cl
sub edi, 1
sub eax, 1
and eax, edx
cmp eax, dword [esp + edi*4 + 0x8c]
jne 0x1001f455
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jne 0x1001f242
add dword [esp + 0x30], 4
add dword [esp + 0x40], 1
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
jle 0x1001f230
mov esi, dword [esp + 0x48]
xor ecx, ecx
cmp esi, ecx
je 0x1001f4d2
cmp dword [esp + 0x28], 1
je 0x1001f4d2
pop edi
pop ebp
pop esi
mov eax, 0xfffffffb
pop ebx
add esp, 0xf8
ret
pop edi
pop ebp
pop esi
mov eax, 0xfffffffc
pop ebx
add esp, 0xf8
ret
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0xf8
ret