Function at 0x10014570
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x640
mov eax, dword [0x10050050]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
push 0x206
lea edx, [ebp - 0x41e]
xor ecx, ecx
push esi
push edx
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x634], esi
mov dword [ebp - 0x63c], esi
mov word [ebp - 0x420], cx
call fcn.1002a830
add esp, 0xc
push 0x206
lea ecx, [ebp - 0x216]
xor eax, eax
push esi
push ecx
mov word [ebp - 0x218], ax
call fcn.1002a830
mov ebx, dword [0x107cb6b0]
mov dword [ebp - 0x638], esi
add esp, 0xc
lea esi, [ebp - 0x628]
mov dword [ebp - 0x10], 0xcdbdadac
mov dword [ebp - 0xc], 0x114d9caa
mov word [ebp - 8], 0x8fe
call fcn.100150d0
test eax, eax
je 0x10014617
lea eax, [ebp - 0x420]
lea ecx, [ebx + 0x70]
mov edx, esi
call fcn.10015110
lea esi, [ebp - 0x628]
call fcn.100150d0
test eax, eax
je 0x10014638
lea eax, [ebp - 0x218]
mov ecx, str.kuaodata4.res
mov edx, esi
call fcn.10015110
mov esi, dword [ebp - 0x62c]
push edi
push esi
push 0x10046e28
push 0x10046e40
call fcn.10014390
push 0x10045d04
push esi
call fcn.10027381
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10014687
push 0x10046e5c
push 0x10046e40
call fcn.10014390
add esp, 8
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
push esi
push edx
push 1
push edi
call fcn.10027629
push esi
mov ebx, eax
call fcn.100277b9
lea eax, [ebp - 0x420]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x100146b0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100146b0
mov esi, dword [ebp - 0x62c]
sub eax, edx
sar eax, 1
je 0x100146f7
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100146d0
sub eax, edx
sar eax, 1
je 0x100146f7
lea eax, [ebp - 0x420]
push esi
push eax
call fcn.10026b57
add esp, 8
mov dword [ebp - 0x634], eax
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10014700
sub eax, edx
sar eax, 1
je 0x1001473b
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10014716
sub eax, edx
sar eax, 1
je 0x1001473b
lea ecx, [ebp - 0x218]
push esi
push ecx
call fcn.10026b57
add esp, 8
mov esi, eax
jmp 0x10014741
mov esi, dword [ebp - 0x63c]
mov edx, dword [ebp - 0x62c]
push str.kuaodatahz_cache.dat
push edx
call fcn.10026f14
add esp, 8
test eax, eax
mov eax, 1
je 0x10014764
mov eax, dword [ebp - 0x638]
cmp dword [ebp - 0x634], 0
je 0x1001479f
test esi, esi
je 0x1001479f
test eax, eax
je 0x1001479f
xor ecx, ecx
test ebx, ebx
js 0x100147a3
jmp 0x10014780
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
mov edx, ecx
sub edx, eax
mov al, byte [ebp + edx - 0x10]
xor byte [edi + ecx], al
inc ecx
cmp ecx, ebx
jle 0x10014780
test ebx, ebx
jns 0x100147c7
push 0x10046e6c
push 0x10046e40
call fcn.10014390
add esp, 8
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002656f
mov esp, ebp
pop ebp
ret
push ebx
push 0x10046e7c
push 0x10046e40
call fcn.10014390
mov ecx, dword [ebp - 4]
add esp, 0xc
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.1002656f
mov esp, ebp
pop ebp
ret