Function at 0x1009bce0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
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], 0x100b0650
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [0x10288238]
mov esi, dword [0x1028823c]
mov ecx, eax
and ecx, esi
xor eax, esi
lea eax, [eax + ecx*2 + 0x56ea4857]
xor eax, 0x1a78cf3c
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov ecx, esp
mov dword [ebp - 0x48], ecx
push eax
mov esi, esp
mov dword [ebp - 0x38], esi
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
push eax
mov esi, esp
mov dword [ebp - 0x44], esi
push eax
mov esi, esp
mov dword [ebp - 0x40], esi
push eax
mov esi, esp
mov dword [ebp - 0x3c], esi
mov dword [eax], edx
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100b69dd
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x10290cc4]
mov dword [eax], ecx
lea ecx, [0x10290cc0]
call fcn.1003e5e0
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx], esi
mov edx, dword [edx]
mov dword [ebp - 0x28], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
cmp eax, 0xe9e7fe21
ja 0x1009bd15
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1003ea80
mov dword [ebp - 0x4c], eax
jmp 0x1009bdce
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x1009c161
mov eax, dword [0x10288240]
mov ecx, dword [0x10288244]
sub eax, 0x1e19aea3
sub eax, ecx
add eax, 0x1e19aea3
and eax, 0xf47fb7bc
sub eax, 0x5ba70b6a
sub eax, 0xdfd58ee
add eax, 0x5ba70b6a
add eax, 0x9b7fa785
cmp eax, 0x72a496c4
jbe 0x1009c1c6
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
je 0x1009bedd
mov eax, dword [0x10288250]
xor edx, edx
div dword [0x10288254]
mov ecx, eax
sub ecx, 0x5e9ed22
add ecx, 0x83fc8fcf
add ecx, 0x5e9ed22
mov eax, ecx
and eax, 0xef2285c3
or ecx, 0xef2285c3
add eax, ecx
mov ecx, eax
xor ecx, 0x7814c38f
xor ecx, 0xffffffff
and ecx, 0x7814c38f
shl ecx, 1
sub ecx, 0x7814c38f
sub eax, ecx
cmp eax, 0x3b70d035
jae 0x1009c1cb
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov eax, dword [0x10288258]
mov edi, dword [0x1028825c]
mov esi, eax
and esi, edi
shl esi, 1
add eax, edi
sub eax, esi
add eax, 0x14d4a4d4
sub eax, 0x9c31095a
mov edi, eax
xor edi, 0xffffffff
and edi, 0x4c7079cf
mov esi, eax
and esi, 0xb38f8630
imul esi, edi
mov edi, eax
and edi, 0x4c7079cf
or eax, 0x4c7079cf
imul eax, edi
add eax, esi
mov edx, dword [edx]
mov dword [ecx], edx
cmp eax, 0x95c5c9fa
ja 0x1009c1cb
jmp 0x1009c15c
mov eax, dword [0x10288260]
mov edx, dword [0x10288264]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0xa1b61922
or eax, 0x5e40dba3
add eax, 0xd05a5a37
add eax, 0x22129869
sub eax, 0xd05a5a37
cmp eax, 0x9482c755
ja 0x1009c1da
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x10288268]
mov esi, dword [0x1028826c]
mov eax, edx
and eax, esi
xor edx, esi
or eax, edx
xor eax, 0xac3c1772
sub eax, 0xff1c0496
xor eax, 0x2862eb45
mov ecx, dword [ecx]
mov dword [ebp - 0x50], ecx
cmp eax, 0x188890d4
jb 0x1009c1da
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x10], 0
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1009c8e0
add esp, 8
mov dword [ebp - 0x54], eax
jmp 0x1009bf76
mov eax, dword [ebp - 0x54]
cmp eax, 0xffffffff
jne 0x1009bff8
mov eax, dword [0x10288270]
mov ecx, dword [0x10288274]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
add eax, 0x4f66a707
or eax, 0xf80400b7
add eax, 0x956b20b5
cmp eax, 0xd5c971cb
jae 0x1009c1df
mov eax, dword [0x10288278]
and eax, dword [0x1028827c]
add eax, 0x860a4df3
add eax, 1
mov ecx, eax
xor ecx, 0xd282870b
xor ecx, 0xffffffff
or eax, 0xd282870b
and eax, ecx
add eax, 0xbc5ded1b
cmp eax, 0xd3a596c5
jae 0x1009bfb2
mov dword [ebp - 0x10], 0
call fcn.1003f9c0
jmp 0x1009bff8
mov eax, dword [0x10288290]
mov edx, dword [0x10288294]
mov ecx, eax
and ecx, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0x49681427
sub ecx, 0x63a92c82
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xe521f864
and ecx, 0x1ade079b
or eax, ecx
cmp eax, 0x7fe2eeff
je 0x1009c1e4
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1003fad0
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 1
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.100b6bbb
add esp, 4
jmp 0x1009c07b
mov eax, dword [0x102882a0]
add eax, dword [0x102882a4]
mov ecx, 0x27367832
xor edx, edx
div ecx
sub eax, 0x1e177ba9
xor eax, 0xb675eb6
cmp eax, 0xe186dc4c
jb 0x1009c203
mov eax, dword [ebp - 0x40]
mov ecx, dword [0x102882a8]
or ecx, dword [0x102882ac]
imul edx, ecx, 0x9aadc878
add edx, 0x68e496a0
mov ecx, edx
xor ecx, 0x4adbc01
and ecx, edx
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [edx]
mov dword [0x10290cc4], esi
mov edx, dword [edx]
mov dword [eax], edx
call fcn.1003fb10
mov ecx, dword [ebp - 0x3c]
call fcn.1003fc50
mov eax, dword [ebp - 0x58]
cmp eax, 0xaaa119e8
je 0x1009c0a4
jmp 0x1009c108
mov eax, dword [0x102882b8]
mov esi, dword [0x102882bc]
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
sub eax, 0x50fb0ea2
add eax, 0x6f9f8117
sub eax, 0x3f126e79
sub eax, 0xbeeb97eb
add eax, 0x3f126e79
cmp eax, 0x9b6b690d
jae 0x1009c234
jmp 0x1009c15c
jmp 0x1009c161
mov ecx, dword [0x102882c0]
mov eax, dword [0x102882c4]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, 0x95cb25eb
xor ecx, 0x95cb25eb
or eax, ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0x413d9ea9
xor eax, eax
sub eax, ecx
add eax, 0xd8c17694
cmp eax, 0x890740c6
je 0x1009c239
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
call fcn.100b6a0e
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x1009be1a
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x1009be7c
jmp 0x1009bf19
jmp 0x1009bfb2
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov dword [eax], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1003fad0
jmp 0x1009c040
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [edx]
mov dword [0x10290cc4], esi
mov edx, dword [edx]
mov dword [eax], edx
call fcn.1003fb10
mov ecx, dword [ebp - 0x3c]
call fcn.1003fc50
jmp 0x1009c0a4
jmp 0x1009c108
mov ecx, dword [ebp - 0x48]
call fcn.100b6a0e
jmp 0x1009c1a1