Function at 0x10005fe0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [ebp + 0x10]
push ebx
lea edx, [eax + 0x3c0]
push esi
mov ecx, eax
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
cmp eax, edx
ja 0x100060f4
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cmp ecx, 0x7535
ja 0x100060dd
je 0x10006076
mov eax, ecx
sub eax, 0x61cc
je 0x10006045
sub eax, 0x12f1
je 0x10006038
sub eax, 0x3c
je 0x1000605a
jmp 0x1000620f
test edi, edi
je 0x10006293
jmp 0x1000620f
mov eax, 0x729e
cmp eax, eax
je 0x1000622f
inc eax
cmp eax, 0x729e
jbe 0x1000604c
mov eax, dword [0x10171074]
test eax, eax
setne al
test al, al
je 0x1000620f
call fcn.1000f960
jmp 0x1000620f
xor eax, eax
cmp eax, 0x60
ja case.0x10006084.1
movzx ecx, byte [eax + 0x100062c8]
jmp dword [ecx*4 + 0x100062b4]
cmp byte [esp + 0x12], 0
sete byte [esp + 0x13]
jmp case.0x10006084.1
cmp byte [esp + 0x13], 0
je case.0x10006084.1
mov eax, dword [ebx]
mov ecx, dword [esi]
push eax
push ecx
mov ecx, edi
call fcn.10018820
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x12], 1
jmp case.0x10006084.1
cmp byte [esp + 0x12], 0
jne 0x1000629c
add eax, 0x20
lea edx, [eax + 0x7dcb]
cmp edx, 0x7e2b
jbe 0x10006078
jmp 0x1000620f
mov eax, ecx
sub eax, 0x7571
je 0x1000610c
sub eax, 0x3c
je 0x100060ff
sub eax, 0x3c
jne 0x1000620f
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
not eax
mov dword [esp + 0x18], eax
jmp 0x1000620f
mov eax, dword [esi]
not eax
mov dword [esi], eax
cmp dword [ebx], 8
jb 0x100061ec
jmp 0x10006120
mov ecx, 0x1017
cmp ecx, 0x10df
ja 0x100061c9
je 0x10006145
mov eax, ecx
sub eax, 0x1017
je 0x10006193
sub eax, 0x64
jne 0x100061d4
movzx edx, byte [edi]
mov eax, dword [esi]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10177268]
mov dword [esi], eax
movzx edx, byte [edi + 1]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10177268]
mov dword [esi], eax
movzx edx, byte [edi + 2]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10177268]
add edi, 3
mov dword [esi], eax
jmp 0x100061d4
movzx edx, byte [edi]
mov eax, dword [esi]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10177268]
mov dword [esi], eax
movzx edx, byte [edi + 1]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10177268]
add edi, 2
mov dword [esi], eax
jmp 0x100061d4
cmp ecx, 0x1143
jne 0x100061d4
add dword [ebx], 0xfffffff8
add ecx, 0x64
cmp ecx, 0x1143
jbe 0x10006125
cmp dword [ebx], 8
jae 0x10006120
cmp dword [ebx], 0
je 0x1000620f
movzx ecx, byte [edi]
mov eax, dword [esi]
xor ecx, eax
and ecx, 0xff
shr eax, 8
xor eax, dword [ecx*4 + 0x10177268]
inc edi
mov dword [esi], eax
dec dword [ebx]
jne 0x100061f1
mov ecx, dword [esp + 0x14]
add ecx, 0x3c
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x1c]
jbe 0x10006010
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [0x101744b8]
test edi, edi
je 0x10006261
lea esp, [esp]
push edi
call fcn.100225e0
add esp, 4
test al, al
je 0x1000625b
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
and edx, eax
and eax, dword [esi]
cmp eax, edx
je 0x10006283
mov edi, dword [edi]
test edi, edi
jne 0x10006240
mov eax, dword [0x10173ed4]
test eax, eax
je 0x1000628c
push eax
call fcn.100225e0
add esp, 4
test al, al
je 0x1000628c
mov eax, dword [0x10173ed4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc word [0x10174906]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx]
mov eax, dword [esi]
push edx
push eax
mov eax, edi
call fcn.10005ad0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret