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

Disassembly:
sub esp, 0x60
movzx eax, word [ecx + 0x14]
push ebx
mov ebx, dword [esp + 0x6c]
add eax, 0xfffffffc
push ebp
mov ebp, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x70]
push edi
mov edi, dword [esp + 0x80]
push 0x80000
lea edx, [esi + 0x1fe]
cmp edx, eax
push 0
cmovge edx, eax
movzx eax, word [ecx + 0x16]
add eax, 0xfffffffc
mov dword [esp + 0x28], edx
lea ecx, [ebx + 0x1fe]
cmp ecx, eax
push edi
cmovge ecx, eax
mov dword [esp + 0x88], ecx
call fcn.1026c8e0
add esi, 2
add esp, 0xc
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0x20]
jge 0x1012bc52
mov edx, dword [esp + 0x7c]
lea eax, [ebx + 2]
mov dword [esp + 0x24], eax
lea ebx, [ebp + 0x181806]
lea eax, [edi + 0x802]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
nop dword [eax]
mov ecx, eax
mov dword [esp + 0x2c], ebx
lea eax, [ebx - 0x180000]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x78], eax
cmp eax, edx
jge 0x1012bc2c
add ecx, 2
lea eax, [esp + 0x28]
xor ebx, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], ebx
nop dword [eax + eax]
mov ebp, dword [eax]
movsx edi, word [ebp + 6]
lea esi, [ebp + 6]
mov dword [eax], esi
mov edx, edi
movsx eax, word [ebp]
sub edx, eax
mov ecx, edx
sar ecx, 0x1f
mov eax, ecx
xor eax, edx
sub eax, ecx
mov dword [esp + ebx + 0x30], eax
movsx ebx, word [esi + 4]
movsx esi, word [esi + 2]
mov edx, ebx
movsx eax, word [ebp + 4]
mov ecx, esi
sub edx, eax
movsx eax, word [ebp + 2]
sub ecx, eax
imul edx, edx
movsx eax, word [ebp + 0xc]
imul ecx, ecx
add ecx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + edx + 0x50], ecx
mov ecx, edi
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movsx eax, word [ebp + 0x10]
mov dword [esp + edx + 0x34], ecx
mov edx, ebx
sub edx, eax
mov ecx, esi
movsx eax, word [ebp + 0xe]
sub ecx, eax
imul edx, edx
movsx eax, word [ebp - 0xbfa]
imul ecx, ecx
add ecx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + edx + 0x54], ecx
mov ecx, edi
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movsx eax, word [ebp - 0xbf6]
mov dword [esp + edx + 0x38], ecx
mov edx, ebx
sub edx, eax
mov ecx, esi
movsx eax, word [ebp - 0xbf8]
sub ecx, eax
imul edx, edx
movsx eax, word [ebp + 0xc06]
sub edi, eax
imul ecx, ecx
mov eax, edi
sar eax, 0x1f
xor edi, eax
sub edi, eax
movsx eax, word [ebp + 0xc0a]
sub ebx, eax
add ecx, edx
movsx eax, word [ebp + 0xc08]
mov edx, dword [esp + 0x80]
sub esi, eax
mov eax, dword [esp + 0x74]
imul esi, esi
imul ebx, ebx
mov dword [esp + edx + 0x58], ecx
mov dword [esp + edx + 0x3c], edi
add esi, ebx
add eax, 4
mov dword [esp + edx + 0x5c], esi
add edx, 0x10
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], edx
mov ebx, edx
cmp edx, 0x20
jl 0x1012ba40
mov edx, dword [esp + 0x34]
mov ecx, edx
mov esi, dword [esp + 0x30]
cmp esi, edx
mov edi, dword [esp + 0x4c]
mov eax, edi
mov ebx, dword [esp + 0x48]
cmova ecx, esi
cmp ebx, edi
cmova eax, ebx
cmp ecx, eax
jae 0x1012bb83
cmp esi, edx
cmova edx, esi
jmp 0x1012bb8a
cmp ebx, edi
mov edx, edi
cmova edx, ebx
mov esi, dword [esp + 0x54]
mov ecx, esi
mov edi, dword [esp + 0x50]
cmp edi, esi
mov ebx, dword [esp + 0x6c]
mov eax, ebx
mov ebp, dword [esp + 0x68]
cmova ecx, edi
cmp ebp, ebx
cmova eax, ebp
cmp ecx, eax
jae 0x1012bbb3
cmp edi, esi
cmova esi, edi
jmp 0x1012bbba
cmp ebp, ebx
mov esi, ebx
cmova esi, ebp
mov ebx, dword [esp + 0x10]
xor edi, edi
xor ecx, ecx
xor eax, eax
cmp dword [esp + ecx + 0x30], edx
ja 0x1012bbd6
cmp dword [esp + ecx + 0x50], esi
mov ebp, 1
cmovbe eax, ebp
cmp dword [esp + ecx + 0x34], edx
ja 0x1012bbe3
cmp dword [esp + ecx + 0x54], esi
ja 0x1012bbe3
inc eax
cmp dword [esp + ecx + 0x38], edx
ja 0x1012bbf0
cmp dword [esp + ecx + 0x58], esi
ja 0x1012bbf0
inc eax
cmp dword [esp + ecx + 0x3c], edx
ja 0x1012bbfd
cmp dword [esp + ecx + 0x5c], esi
ja 0x1012bbfd
inc eax
mov byte [edi + ebx], al
add ecx, 0x10
inc edi
cmp ecx, 0x20
jl 0x1012bbc2
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x78], edx
cmp edx, dword [esp + 0x7c]
jl 0x1012ba20
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
inc esi
add eax, 0x400
mov dword [esp + 0x14], esi
add ebx, 0xc00
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
cmp esi, dword [esp + 0x20]
jl 0x1012ba00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10