Function at 0x100832b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1009a740
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov edx, dword [ebp - 0x20]
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov ecx, eax
mov dword [ebp - 0x48], ecx
push eax
mov ecx, esp
mov esi, ecx
mov dword [ebp - 0x44], esi
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x40], esi
push eax
mov esi, esp
mov dword [ebp - 0x28], esi
push eax
mov esi, esp
mov dword [ebp - 0x3c], esi
push eax
mov esi, esp
mov dword [ebp - 0x38], esi
push eax
mov esi, esp
mov dword [ebp - 0x34], esi
mov dword [eax], edx
sub esp, 4
mov eax, esp
mov dword [eax], 0
call fcn.100bb00d
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x10295e0c]
mov dword [eax], ecx
mov ecx, 0x10295df4
call fcn.1003f060
mov ecx, dword [ebp - 0x2c]
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax], edx
mov ecx, dword [ecx]
mov edx, dword [eax]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1003f4f0
mov dword [ebp - 0x24], eax
jmp 0x1008336c
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x10288d74]
xor edx, edx
div dword [0x10288d78]
imul eax, eax, 0x69489cf6
mov esi, 0x7c72f947
xor edx, edx
div esi
mov edx, dword [ebp - 0x24]
mov esi, eax
mov eax, esi
xor eax, 0xffffffff
or eax, 0xd796cffd
xor esi, 0xffffffff
or esi, 0xd796cffd
xor eax, 0xffffffff
xor esi, 0xffffffff
or eax, esi
mov dword [ecx], edx
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x49], cl
cmp eax, 0xff3a210a
jae 0x100837c7
mov al, byte [ebp - 0x49]
test al, 1
jne 0x100837a2
jmp 0x100833d1
mov ecx, dword [0x10288d7c]
mov eax, dword [0x10288d80]
or ecx, eax
mov eax, ecx
and eax, 0x6c670c1a
mov edx, ecx
xor edx, 0x9398f3e5
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x160b7b54
and ecx, 0xe9f484ab
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe6cbc730
mov ecx, eax
and ecx, 0x193438cf
imul ecx, edx
mov edx, eax
and edx, 0xe6cbc730
or eax, 0xe6cbc730
imul eax, edx
add eax, ecx
cmp eax, 0x3cc216d
jbe 0x100837d4
mov ecx, dword [ebp - 0x40]
mov eax, dword [0x10288d84]
xor eax, dword [str.Z__U]
mov esi, eax
and esi, 0x9cb3b536
mov edx, eax
or edx, 0x9cb3b536
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0x634c4ac9
or eax, 0x634c4ac9
imul eax, esi
add eax, edx
sub eax, 0xc05e157a
or eax, 0x586229d3
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x4a], cl
cmp eax, 0xba2adaed
ja 0x10083436
mov al, byte [ebp - 0x4a]
test al, 1
jne 0x1008349a
jmp 0x1008351f
mov eax, dword [0x10288d8c]
xor edx, edx
div dword [0x10288d90]
and eax, 0xd2519fc2
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xe00cd4a9
and eax, 0x1ff32b56
sub eax, ecx
mov ecx, eax
and ecx, 0xd63aee19
mov edx, eax
xor edx, 0x29c511e6
add eax, edx
sub eax, ecx
cmp eax, 0x18b7aa66
jb 0x100837d9
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x10288d94]
imul eax, dword [0x10288d98]
or eax, 0x3dee1f3c
or eax, 0x9b185bd3
mov esi, eax
xor esi, 0x9a75590c
xor esi, 0xffffffff
or eax, 0x9a75590c
and eax, esi
mov edx, dword [edx]
mov dword [ecx], edx
cmp eax, 0x74c57d0c
jbe 0x100837d9
jmp 0x10083734
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10083b70
add esp, 8
mov dword [ebp - 0x50], eax
jmp 0x10083548
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x10288db4]
xor edx, edx
div dword [0x10288db8]
imul edx, eax, 0x262a55aa
sub edx, 0xff4aa68e
mov eax, edx
xor eax, 0xffffffff
and eax, 0x4b72fbb3
and edx, 0xb48d044c
or eax, edx
xor eax, 0x4b876aa3
cmp ecx, 0xffffffff
sete cl
mov byte [ebp - 0x51], cl
cmp eax, 0x6c1afbc6
jae 0x10083548
mov al, byte [ebp - 0x51]
test al, 1
jne 0x1008359f
jmp 0x1008364a
mov ecx, dword [0x10288dbc]
mov edx, dword [0x10288dc0]
xor ecx, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
add ecx, 0x54e2cc3
mov eax, ecx
and eax, 0x91d7f813
or ecx, 0x91d7f813
add eax, ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0x915c1751
xor eax, eax
sub eax, ecx
cmp eax, 0x4b3fa484
je 0x100837e8
mov eax, dword [0x10288dc4]
xor edx, edx
div dword [0x10288dc8]
xor eax, 0x42880f71
mov ecx, 0xaee46473
xor edx, edx
div ecx
mov edx, eax
and edx, 0x5696e506
mov ecx, eax
or ecx, 0x5696e506
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa9691af9
or eax, 0xa9691af9
imul eax, edx
add eax, ecx
cmp eax, 0xc8d6f883
jae 0x100837e8
mov dword [ebp - 0x10], 0
call fcn.100400c0
jmp 0x1008364a
mov eax, dword [0x10288ddc]
add eax, dword [0x10288de0]
mov ecx, 0x581e4301
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0xded36f0f
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0xf1d47c69
and ecx, 0xf1d47c69
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xe8533ef6
jae 0x100837ed
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10040190
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 1
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.100bb1eb
add esp, 4
jmp 0x100836ce
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
mov esi, dword [edx]
mov dword [0x10295e0c], esi
mov edx, dword [edx]
mov dword [eax], edx
call fcn.100401e0
mov ecx, dword [ebp - 0x34]
call fcn.10040230
jmp 0x100836ff
mov eax, dword [0x10288df4]
and eax, dword [0x10288df8]
sub eax, 0x45058888
imul ecx, eax, 0xe2f6dd75
mov eax, ecx
and eax, 0x8c87641b
xor ecx, 0x8c87641b
or eax, ecx
cmp eax, 0x4302d1c0
jbe 0x100836ff
jmp 0x10083734
mov eax, dword [0x10288dfc]
xor edx, edx
div dword [0x10288e00]
and eax, 0x721e9db2
xor eax, 0xdc224ad1
or eax, 0x4da6e3c0
cmp eax, 0x8db08c5c
jbe 0x10083813
mov ecx, dword [0x10288e04]
and ecx, dword [0x10288e08]
mov eax, ecx
and eax, 0xcd7dbe94
shl eax, 1
xor ecx, 0xcd7dbe94
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x913e12a3
and ecx, 0x6ec1ed5c
xor eax, 0xffffffff
or eax, ecx
and eax, 0xc4edda4f
cmp eax, 0x4e7f2dec
jae 0x10083813
jmp 0x100837a2
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
call fcn.100bb03e
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
jmp 0x1008336c
jmp 0x10083436
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x100834dd
jmp 0x100835eb
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
mov edx, dword [edx]
mov dword [eax], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10040190
mov dword [ebp - 0x10], 1
jmp 0x10083693
jmp 0x1008375b