Function at 0x10062f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x102851ec]
xor edx, edx
div dword [0x102851f0]
mov ecx, 0x6f06500b
xor edx, edx
div ecx
xor eax, 0xce2fa3d2
xor ecx, ecx
sub ecx, eax
add ecx, 0x18e178c
xor eax, eax
sub eax, ecx
cmp eax, 0xc3569a80
jbe 0x100632ed
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x102851f4]
mov ecx, dword [0x102851f8]
xor eax, ecx
imul eax, eax, 0xdb62b395
add eax, 0x3386f632
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x44], edi
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [ebp - 0x2c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x30], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], edx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ebx
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
call fcn.100578d0
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov dword [edi], ebx
lea edi, [0x1022b994]
mov dword [esi], edi
mov dword [eax], edx
mov eax, dword [eax]
lea edx, [0x1022b994]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.100309c0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x1d], cl
cmp eax, 0xc17e2afe
ja 0x10062fd2
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x1006309c
jmp 0x1006323a
mov eax, dword [0x102851fc]
mov esi, dword [0x10285200]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, esi
and edx, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
add eax, 0x431a815b
or eax, 0x3a667ca6
add eax, 0xcbfd631c
cmp eax, 0xe6913452
ja 0x10063362
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x10285204]
xor eax, dword [0x10285208]
add eax, 0x2f87d0d9
imul eax, eax, 0x16debf0a
mov edx, eax
and edx, 0xdea43385
xor eax, 0xdea43385
or edx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10057a80
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x58]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x38]
mov edi, dword [edi]
mov dword [ebp - 0x54], edi
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [ebp - 0x50], esi
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
cmp eax, 0x924dc2cc
jbe 0x100630e1
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100633b0
add esp, 0x10
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1028520c]
xor edx, edx
div dword [0x10285210]
mov ecx, eax
add ecx, 0xbb83f3f4
add ecx, 0x53857b4b
sub ecx, 0xbb83f3f4
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xc7d4034e
and ecx, 0x382bfcb1
or eax, ecx
xor eax, 0x66fdc5f8
mov ecx, eax
xor ecx, 0x42886f8b
xor ecx, 0xffffffff
and ecx, 0x42886f8b
shl ecx, 1
sub ecx, 0x42886f8b
sub eax, ecx
cmp eax, 0xdaca441
jbe 0x10063382
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [0x10285214]
imul edi, dword [0x10285218]
mov esi, edi
xor esi, 0xffffffff
and esi, 0x11c1fda2
and edi, 0xee3e025d
or esi, edi
and esi, 0xd3f66a47
or esi, 0x7f9941c5
mov dword [ebp - 0x60], esi
mov eax, dword [eax]
mov dword [eax + 4], edx
mov dword [ecx], 0
call fcn.10057f80
mov eax, dword [ebp - 0x60]
cmp eax, 0xcb793f16
ja 0x10063382
jmp 0x1006323a
mov eax, dword [0x1028521c]
mov edx, dword [0x10285220]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
imul eax, eax, 0xab1b3fa9
sub eax, 0x3494c43a
add eax, 0xc3b1ac27
sub eax, 0xc7fccf06
sub eax, 0xc3b1ac27
cmp eax, 0x802d9db2
jb 0x100633a0
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x10285224]
mov edx, dword [0x10285228]
sub eax, 0xb5db4610
add eax, edx
add eax, 0xb5db4610
mov esi, 0x22280de1
xor edx, edx
div esi
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
or eax, 0x89e64cc0
xor eax, 0xffffffff
or edx, 0x7619b33f
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, eax
and edx, 0x89f2cb87
xor edx, 0xffffffff
add eax, 0x89f2cb87
add eax, 1
add eax, edx
mov dword [ebp - 0x64], eax
call fcn.100309e0
mov eax, dword [ebp - 0x64]
cmp eax, 0x3c75404d
jb 0x10063278
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
push eax
mov ebx, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov edi, esp
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x14]
mov dword [ecx], ebx
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ebx
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x70], ecx
call fcn.100578d0
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov ebx, eax
mov eax, dword [ebp - 0x68]
mov dword [edi], ebx
lea edi, [0x1022b994]
mov dword [esi], edi
mov dword [eax], edx
mov eax, dword [eax]
lea edx, [0x1022b994]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.100309c0
jmp 0x10062fd2
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10057a80
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov dword [eax], ecx
jmp 0x100630e1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [eax + 4], edx
mov dword [ecx], 0
call fcn.10057f80
jmp 0x100631df
mov ecx, dword [ebp - 0x30]
call fcn.100309e0
jmp 0x10063278