Function at 0x10084d00
Capabilities:
Encode data using xor

Disassembly:
movzx eax, word [ecx + 0xac]
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x68]
push esi
add eax, 0xfffffffc
lea esi, [ebp + 0xfe]
cmp esi, eax
push edi
jl 0x10084d21
mov esi, eax
movzx eax, word [ecx + 0xae]
mov edi, dword [esp + 0x74]
lea ecx, [edi + 0xfe]
add eax, 0xfffffffc
cmp ecx, eax
mov dword [esp + 0x74], ecx
jl 0x10084d41
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x7c]
push 0x20000
push 0
push ebx
call fcn.101527d0
lea edx, [ebp + 2]
add esp, 0xc
cmp edx, esi
jge 0x10084fe0
mov eax, edx
sub eax, ebp
mov ebp, dword [esp + 0x78]
mov ecx, eax
imul ecx, ecx, 0x600
shl eax, 9
add edi, 2
lea ebx, [eax + ebx + 2]
mov eax, dword [esp + 0x74]
lea ecx, [ecx + ebp + 0x60006]
sub esi, edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], esi
jmp 0x10084da0
cmp edi, eax
lea edx, [ecx - 0x60000]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
jge 0x10084fbd
sub eax, edi
mov dword [esp + 0x78], eax
lea esp, [esp]
add ebx, 2
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x7c], eax
xor ecx, ecx
add dword [eax], 6
mov eax, dword [eax]
movsx edx, word [eax]
movsx edi, word [eax - 6]
movsx ebp, word [eax - 4]
mov esi, edx
sub esi, edi
mov edi, esi
sar edi, 0x1f
mov ebx, edi
xor ebx, esi
sub ebx, edi
movsx esi, word [eax + 4]
mov dword [esp + ecx + 0x2c], ebx
movsx ebx, word [eax - 2]
mov edi, esi
sub edi, ebx
movsx ebx, word [eax + 2]
mov dword [esp + 0x70], ebx
sub ebx, ebp
mov ebp, ebx
imul ebp, ebx
mov ebx, edi
imul ebx, edi
add ebp, ebx
movsx ebx, word [eax + 6]
mov dword [esp + ecx + 0x4c], ebp
mov edi, edx
sub edi, ebx
mov ebx, edi
sar ebx, 0x1f
mov ebp, ebx
xor ebp, edi
sub ebp, ebx
movsx ebx, word [eax + 0xa]
mov dword [esp + ecx + 0x30], ebp
movsx ebp, word [eax + 8]
mov edi, esi
sub edi, ebx
mov ebx, dword [esp + 0x70]
sub ebx, ebp
mov ebp, ebx
imul ebp, ebx
mov ebx, edi
imul ebx, edi
add ebp, ebx
movsx ebx, word [eax - 0x600]
mov edi, edx
sub edi, ebx
mov ebx, edi
sar ebx, 0x1f
mov dword [esp + ecx + 0x50], ebp
mov ebp, ebx
xor ebp, edi
sub ebp, ebx
movsx ebx, word [eax - 0x5fc]
mov dword [esp + ecx + 0x34], ebp
movsx ebp, word [eax - 0x5fe]
mov edi, esi
sub edi, ebx
mov ebx, dword [esp + 0x70]
sub ebx, ebp
mov ebp, ebx
imul ebp, ebx
mov ebx, edi
imul ebx, edi
movsx edi, word [eax + 0x600]
sub edx, edi
mov edi, edx
add ebp, ebx
sar edi, 0x1f
mov ebx, edi
xor ebx, edx
movsx edx, word [eax + 0x604]
sub esi, edx
movsx edx, word [eax + 0x602]
mov eax, dword [esp + 0x70]
sub ebx, edi
mov dword [esp + ecx + 0x54], ebp
mov dword [esp + ecx + 0x38], ebx
sub eax, edx
mov edx, eax
imul edx, eax
mov eax, esi
imul eax, esi
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + ecx + 0x58], edx
add eax, 4
add ecx, 0x10
cmp ecx, 0x20
mov dword [esp + 0x7c], eax
jl 0x10084dd1
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov esi, edi
cmp edi, ebx
ja 0x10084efa
mov esi, ebx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, ecx
cmp ecx, edx
ja 0x10084f0a
mov eax, edx
cmp esi, eax
jae 0x10084f1a
cmp edi, ebx
jbe 0x10084f16
mov ebp, edi
jmp 0x10084f22
mov ebp, ebx
jmp 0x10084f22
mov ebp, ecx
cmp ecx, edx
ja 0x10084f22
mov ebp, edx
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov esi, edi
cmp edi, ebx
ja 0x10084f32
mov esi, ebx
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, ecx
cmp ecx, edx
ja 0x10084f42
mov eax, edx
cmp esi, eax
jae 0x10084f52
cmp edi, ebx
jbe 0x10084f4e
mov edx, edi
jmp 0x10084f58
mov edx, ebx
jmp 0x10084f58
cmp ecx, edx
jbe 0x10084f58
mov edx, ecx
mov ebx, dword [esp + 0x1c]
xor esi, esi
xor eax, eax
xor ecx, ecx
cmp dword [esp + eax + 0x2c], ebp
ja 0x10084f73
cmp dword [esp + eax + 0x4c], edx
ja 0x10084f73
mov ecx, 1
cmp dword [esp + eax + 0x30], ebp
ja 0x10084f80
cmp dword [esp + eax + 0x50], edx
ja 0x10084f80
inc ecx
cmp dword [esp + eax + 0x34], ebp
ja 0x10084f8d
cmp dword [esp + eax + 0x54], edx
ja 0x10084f8d
inc ecx
cmp dword [esp + eax + 0x38], ebp
ja 0x10084f9a
cmp dword [esp + eax + 0x58], edx
ja 0x10084f9a
inc ecx
mov byte [esi + ebx], cl
add eax, 0x10
inc esi
cmp eax, 0x20
jl 0x10084f60
sub dword [esp + 0x78], 1
jne 0x10084dc0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
add ebx, 0x200
add ecx, 0x600
sub dword [esp + 0x18], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
jne 0x10084da0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0x10