Function at 0x10052eb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x100bf198]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100bfd54], 0
jne 0x100532b7
mov eax, dword [0x100bea64]
sub eax, dword [0x100bea68]
sub eax, 0xa25eaa52
sub eax, 0xf81d4223
and eax, 0xe59cef9b
sub eax, 0x219ee448
add eax, 0x92c650ae
and eax, 0x359040db
xor eax, 0x7656cd5
imul eax, eax, 0xde71647b
mov ecx, 0x541546df
xor edx, edx
div ecx
add eax, 0x6a15726c
add eax, 0x12751c28
or eax, 0x32063774
mov ecx, 0x76501fa7
xor edx, edx
div ecx
or eax, 0xa3f914c4
mov ecx, 0x82298ae9
xor edx, edx
div ecx
add eax, 0x269d26d
xor eax, 0x9d557f35
imul eax, eax, 0xae4c3b6
xor eax, 0x4f412fea
and eax, 0x7636b9db
sub eax, 0xd5cbba75
or eax, 0xa1a6e724
mov ecx, 0x6fc68b07
xor edx, edx
div ecx
add eax, 0x207ca6cc
imul eax, eax, 0x5633d92c
sub eax, 0xe2897264
add eax, 0x87e7bb90
imul eax, eax, 0xca7d74a7
and eax, 0x8a287208
add eax, 0xac53832
mov ecx, 0xe0c52940
xor edx, edx
div ecx
xor eax, 0xdfa15768
and eax, 0x308e1273
mov ecx, 0xf4bfcf71
xor edx, edx
div ecx
and eax, 0x52a8347b
or eax, 0x1b7c7eac
imul eax, eax, 0x9516bc23
imul eax, eax, 0xf622a4fc
and eax, 0xffe57d0e
sub eax, 0xb54a2d9a
sub eax, 0xcd8fbb32
or eax, 0x6932ac3f
and eax, 0xf246899a
or eax, 0x1aaa1c09
xor eax, 0xfcf55b83
add eax, 0xcbb15420
mov ecx, 0xb0c862a
xor edx, edx
div ecx
add eax, 0x53108a3a
imul eax, eax, 0x4f5731bf
sub eax, 0x802c4ef8
or eax, 0x66cf1395
add eax, 0x75fb64bf
mov ecx, 0xcf587a92
xor edx, edx
div ecx
imul eax, eax, 0xc0eee12
sub eax, 0x62620afb
or eax, 0x709b7829
imul eax, eax, 0xf86d09be
sub eax, 0x6dc29b21
sub eax, 0xc9598175
imul eax, eax, 0xc208abc8
and eax, 0x7f74daa1
imul eax, eax, 0x2e41d7b6
and eax, 0xac0f097
and eax, 0xfd3c17a
mov ecx, 0x6b46fd14
xor edx, edx
div ecx
xor eax, 0xd8b53f6c
add eax, 0x3b8f545
imul eax, eax, 0x4b62899d
or eax, 0xafdb26be
imul eax, eax, 0x3d7a03bb
xor eax, 0x67653ccd
sub eax, 0x5a3206f1
cmp eax, 0x9e5f396b
je 0x10053597
mov eax, dword [0x100bea6c]
and eax, dword [0x100bea70]
or eax, 0xcc7ca9c4
imul eax, eax, 0x715b9292
xor eax, 0xb9621c55
imul eax, eax, 0xaf1d28a4
sub eax, 0x12342e85
imul eax, eax, 0xa2e93efd
mov ecx, 0xa1d92e55
xor edx, edx
div ecx
mov ecx, 0xa2a1df12
xor edx, edx
div ecx
or eax, 0xc148e997
or eax, 0x8b7690fd
imul eax, eax, 0xbfc17f47
sub eax, 0xc6ae6fb9
add eax, 0xcac5b33a
sub eax, 0xfc37ca53
sub eax, 0x85aa866c
add eax, 0xe75163e
sub eax, 0x1f5a7521
or eax, 0xd0832ca
mov ecx, 0xca579fd4
xor edx, edx
div ecx
mov ecx, 0x94dc61a
xor edx, edx
div ecx
xor eax, 0xc7d0a5f5
and eax, 0x355f7567
and eax, 0x3442ca05
or eax, 0x24339d71
add eax, 0x9e4cf615
add eax, 0x46e7ad25
or eax, 0xb02ba812
or eax, 0x42c902f2
or eax, 0x9bf9cadb
imul eax, eax, 0x2e36a925
sub eax, 0xf91bb21d
add eax, 0xea2641e2
add eax, 0x46656eac
or eax, 0xfe22a4a
xor eax, 0xaba82bdf
and eax, 0xc20e99e5
or eax, 0x831687a
mov ecx, 0x604cd916
xor edx, edx
div ecx
sub eax, 0x205967bc
or eax, 0xf7807a40
add eax, 0x71d5a638
imul eax, eax, 0x5b5b5a87
or eax, 0xd96069c4
mov ecx, 0x1d1e5ce6
xor edx, edx
div ecx
xor eax, 0x73c3ed1a
imul eax, eax, 0x64f92ef
mov ecx, 0x2895f5e
xor edx, edx
div ecx
add eax, 0x10b73cac
mov ecx, 0x88664592
xor edx, edx
div ecx
or eax, 0x7d230ea7
add eax, 0xb1fb1074
add eax, 0x7a324dc3
and eax, 0xbbae804c
mov ecx, 0x9c3339c3
xor edx, edx
div ecx
and eax, 0x1f424c0b
xor eax, 0xd55ce5db
sub eax, 0x8e76a236
or eax, 0xc7f7e901
mov ecx, 0xb6f1bdeb
xor edx, edx
div ecx
mov ecx, 0xd452faca
xor edx, edx
div ecx
or eax, 0xdeadd761
add eax, 0x182e9b22
and eax, 0xb23f96c6
add eax, 0xcec721ae
sub eax, 0x230da1fe
add eax, 0xdb1f5e37
sub eax, 0x2639055
imul eax, eax, 0xf0457a0d
or eax, 0x333aff39
mov ecx, 0xc7948264
xor edx, edx
div ecx
mov ecx, 0xf750e40f
xor edx, edx
div ecx
mov ecx, 0xa94bd18
xor edx, edx
div ecx
mov cl, byte [0x100bd2ac]
xor cl, 0xac
mov byte [0x100bd2b4], cl
mov cl, byte [0x100bd2ad]
xor cl, 0x65
mov byte [0x100bd2b5], cl
mov cl, byte [0x100bd2ae]
xor cl, 0x84
mov byte [0x100bd2b6], cl
mov cl, byte [0x100bd2af]
xor cl, 0x77
mov byte [0x100bd2b8], cl
mov cl, byte [0x100bd2b0]
xor cl, 0x9a
mov byte [0x100bd2b9], cl
mov cl, byte [0x100bd2b1]
xor cl, 0xac
mov byte [0x100bd2ba], cl
mov cl, byte [0x100bd2b2]
xor cl, 0xdd
mov byte [0x100bd2bb], cl
mov cl, byte [0x100bd2b3]
xor cl, 0x90
mov byte [0x100bd2bc], cl
cmp eax, 0xf9596d19
je 0x1005307c
jmp 0x100532b7
mov eax, dword [0x100bea74]
xor eax, dword [0x100bea78]
and eax, 0x7cb5aba1
sub eax, 0xb830c072
xor eax, 0xd7410b6
and eax, 0x73436d36
and eax, 0xa48af8fd
mov ecx, 0xc590351f
xor edx, edx
div ecx
xor eax, 0xee72bee9
or eax, 0xbaafaf0f
or eax, 0xad488368
xor eax, 0x6c01dc6f
sub eax, 0x43acb0b1
imul eax, eax, 0xf3322316
or eax, 0xc68eda66
xor eax, 0x8e12a2a4
and eax, 0xbf9e1c6d
sub eax, 0x56814c4b
and eax, 0x948d6ef7
and eax, 0x37c9777f
add eax, 0x9282a83f
xor eax, 0xfabc708
add eax, 0x96fcb056
xor eax, 0xa98a3980
mov ecx, 0x2de4fce
xor edx, edx
div ecx
xor eax, 0xc21f4c00
imul eax, eax, 0x1ef8dd65
mov ecx, 0x8510dd2
xor edx, edx
div ecx
add eax, 0x8c1ea379
or eax, 0xd9b69401
sub eax, 0xd40d8753
add eax, 0xb44a6570
xor eax, 0x542923b
and eax, 0x2547081b
sub eax, 0x753c4738
imul eax, eax, 0x9709ac9b
add eax, 0x225fd412
xor eax, 0x9eb05b37
xor eax, 0x5159373f
imul eax, eax, 0x839cb985
or eax, 0x9a83fdb8
xor eax, 0xf2b596f
or eax, 0xdfcbe414
sub eax, 0x501cee62
add eax, 0x81db31e8
add eax, 0xa6d314dc
imul eax, eax, 0xfd3b169b
or eax, 0x37c92488
and eax, 0xbb17b36a
sub eax, 0x4f714924
imul eax, eax, 0x72e4b29f
or eax, 0x9427e06d
mov ecx, 0x52881ffc
xor edx, edx
div ecx
or eax, 0x42a8986c
or eax, 0x308e3d24
imul eax, eax, 0x6d404531
sub eax, 0xbd370def
imul eax, eax, 0x40c22548
and eax, 0x8bf9e0b9
or eax, 0xd6f0e42d
or eax, 0x46476537
sub eax, 0xd35ed18e
imul eax, eax, 0xea84bb0e
add eax, 0x4aed49be
xor eax, 0x8f8b5830
add eax, 0xd4fdcb09
imul eax, eax, 0xba823789
imul eax, eax, 0x8840caa6
xor eax, 0xa8c4fc6c
or eax, 0x609ecf9d
imul eax, eax, 0xcae9a8bb
imul eax, eax, 0x18439368
mov ecx, 0xe5d59527
xor edx, edx
div ecx
or eax, 0x20971aa4
cmp eax, 0xb2b3717e
ja 0x100535fc
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [0x100bfd54], 1
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x14], ecx
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x10], edx
mov edx, dword [0x100bd2b4]
mov dword [ecx], edx
mov edx, dword [0x100bd2b8]
mov dword [ecx + 4], edx
mov dl, byte [0x100bd2bc]
mov byte [ecx + 8], dl
xor ecx, ecx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov ecx, dword [ebp - 0x18]
lea eax, [0x100b248a]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
sub esp, 4
mov dword [esp], 2
mov dword [esp + 4], 4
mov dword [esp + 8], 6
call fcn.10039b10
add esp, 0xc
mov eax, dword [ebp - 0x14]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.1003ecb0
mov ecx, dword [ebp - 0x10]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ecx], edx
cmp dword [ecx], 0
sete cl
mov byte [ebp - 5], cl
cmp eax, 0xcd2125e0
je 0x100535fc
mov al, byte [ebp - 5]
test al, 1
jne 0x10053561
jmp 0x10053589
mov eax, dword [ebp - 0x18]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100526f0
add esp, 4
mov dword [esp], 1
call fcn.1004a140
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10066f8f
mov esp, ebp
pop ebp
ret
mov al, byte [0x100bd2ac]
xor al, 0xac
mov byte [0x100bd2b4], al
mov al, byte [0x100bd2ad]
xor al, 0x65
mov byte [0x100bd2b5], al
mov al, byte [0x100bd2ae]
xor al, 0x84
mov byte [0x100bd2b6], al
mov al, byte [0x100bd2af]
xor al, 0x77
mov byte [0x100bd2b8], al
mov al, byte [0x100bd2b0]
xor al, 0x9a
mov byte [0x100bd2b9], al
mov al, byte [0x100bd2b1]
xor al, 0xac
mov byte [0x100bd2ba], al
mov al, byte [0x100bd2b2]
xor al, 0xdd
mov byte [0x100bd2bb], al
mov al, byte [0x100bd2b3]
xor al, 0x90
mov byte [0x100bd2bc], al
jmp 0x1005307c
mov dword [0x100bfd54], 1
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x20], ecx
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov edx, esp
mov dword [ebp - 0x1c], edx
mov edx, dword [0x100bd2b4]
mov dword [ecx], edx
mov edx, dword [0x100bd2b8]
mov dword [ecx + 4], edx
mov dl, byte [0x100bd2bc]
mov byte [ecx + 8], dl
xor ecx, ecx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov ecx, dword [ebp - 0x24]
lea eax, [0x100b248a]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [ebp - 0x24]
add esp, 8
mov eax, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
sub esp, 4
mov dword [esp], 2
mov dword [esp + 4], 4
mov dword [esp + 8], 6
call fcn.10039b10
add esp, 0xc
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.1003ecb0
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10053456