Function at 0x100c91f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x38
mov dword [ebp - 0x10], ecx
mov eax, dword [0x10144914]
and eax, dword [0x10144918]
sub eax, 0xbc668e53
or eax, 0xea16c142
sub eax, 0x2ef9e55a
xor eax, 0x2e6a1752
xor eax, 0xefe58f61
imul eax, eax, 0x465cca33
imul eax, eax, 0xc2ef7082
sub eax, 0xf2a88cd3
or eax, 0xb99daf0c
sub eax, 0x11e4bcc8
and eax, 0xda6f6f77
xor eax, 0x90ccf168
and eax, 0x7b38ccf1
and eax, 0xa6b20157
mov ecx, 0xe97e1f29
xor edx, edx
div ecx
mov ecx, 0xd215394
xor edx, edx
div ecx
and eax, 0xfc8684ea
add eax, 0xca2b04a
or eax, 0xfafa2cc8
or eax, 0x89e993ae
cmp eax, 0x87fa181b
je 0x100c9655
mov eax, dword [0x1014491c]
mov ecx, dword [0x10144920]
sub eax, ecx
imul eax, eax, 0x2b39dec0
add eax, 0xe0219540
xor eax, 0x9fc4460e
mov ecx, 0x27d7f129
mul ecx
mov eax, edx
shr eax, 0x1b
or eax, 0x681d46c
xor eax, 0x7e94813
add eax, 0x5832d24e
mov ecx, 0x428e1e1f
mul ecx
shr edx, 0x1c
imul eax, edx, 0xdfafd9c7
add eax, 0xf1f391f7
xor eax, 0xa050008
or eax, 0x95faef77
mov ecx, 0xde4063d5
mul ecx
mov eax, edx
mov edx, dword [ebp - 0x10]
shr eax, 0x1e
imul eax, eax, 0x67a25bc
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x1c], ecx
mov dword [eax], edx
mov eax, dword [eax]
mov dword [ecx], 0
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.10008450
add esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, 0
setne cl
mov byte [ebp - 0x11], cl
cmp eax, 0x660fdd7e
je 0x100c927e
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100c9537
jmp 0x100c9349
mov eax, dword [0x10144924]
or eax, dword [0x10144928]
sub eax, 0xfcf2db18
xor eax, 0x84f7330f
mov ecx, 0xccb10d5
xor edx, edx
div ecx
xor eax, 0xc77817a4
imul eax, eax, 0x9042ec35
mov ecx, 0xfe115d3a
xor edx, edx
div ecx
sub eax, 0xc21fb13e
sub eax, 0x47e5b272
imul eax, eax, 0x50dc9077
add eax, 0x34fb24a1
sub eax, 0x2573f2d4
xor eax, 0xe3772ef0
imul eax, eax, 0xbf489209
mov ecx, 0x2bc76369
xor edx, edx
div ecx
add eax, 0xeca94a09
sub eax, 0x18e3ab9c
and eax, 0x29a71476
or eax, 0xaa223b2a
add eax, 0xb7fd330a
imul eax, eax, 0x131a11df
cmp eax, 0xaf3b2bc2
ja 0x100c968d
mov eax, dword [0x1014492c]
imul eax, dword [0x10144930]
sub eax, 0x96e75b62
xor eax, 0xec671fa2
add eax, 0xfb3e1091
or eax, 0x92651fcb
and eax, 0xe5ac5acf
or eax, 0xedbd8f83
add eax, 0x6276c10e
xor eax, 0xa54c9c40
or eax, 0x22280609
add eax, 0x53e9beb5
xor eax, 0x42815a73
add eax, 0xccdda681
imul eax, eax, 0xdaa0c7f6
or eax, 0xad67128c
or eax, 0xe1f4efa1
sub eax, 0x392b34d3
imul eax, eax, 0x5d7bfed
or eax, 0x99286cd9
add eax, 0xd4daefa
or eax, 0x8f90dbec
cmp eax, 0x913e088
seta al
mov byte [ebp - 0x21], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, esp
mov dword [ebp - 0x20], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jg 0x100c9473
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
jmp 0x100c9488
mov eax, dword [ebp - 8]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100c9515
jmp 0x100c9515
mov al, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x20]
mov esp, esi
mov dword [ecx], edx
test al, 1
jne 0x100c9532
jmp 0x100c968d
jmp 0x100c9537
mov eax, dword [0x10144934]
xor eax, dword [0x10144938]
mov ecx, 0x6040391
xor edx, edx
div ecx
sub eax, 0xb2309883
or eax, 0x42b5b80b
add eax, 0xa995f291
sub eax, 0x5ff97c13
imul eax, eax, 0x744a71da
sub eax, 0x297e0c9
imul eax, eax, 0x78433b25
add eax, 0x822bd3a5
or eax, 0xe2eed988
xor eax, 0x6eb982b5
xor eax, 0x6b51ba6a
xor eax, 0xaa02c71e
add eax, 0xcc9a5445
or eax, 0x18502af1
add eax, 0x738a6ef5
imul eax, eax, 0xd50be5a5
add eax, 0x198cf229
xor eax, 0x39ea4335
add eax, 0x66082df3
cmp eax, 0xfe6597a8
je 0x100c9764
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x1014493c]
imul eax, dword [0x10144940]
imul eax, eax, 0x1f7efa20
mov esi, 0x12313ea9
xor edx, edx
div esi
mov esi, 0x79342177
xor edx, edx
div esi
mov esi, 0x992f0802
xor edx, edx
div esi
add eax, 0xdb386576
xor eax, 0xef4c9cfc
and eax, 0x8d3bdeca
and eax, 0x464be86d
or eax, 0x1b21ce9
and eax, 0x8977c2a4
and eax, 0x35979bd3
sub eax, 0xbe695839
sub eax, 0x2a87e499
xor eax, 0x7177eb4b
xor eax, 0x6e304373
sub eax, 0xf7bc8c7
add eax, 0x5db95d70
mov esi, 0xdc3df600
xor edx, edx
div esi
or eax, 0x1f2c382f
and eax, 0x74c228a9
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
cmp eax, 0x230f587f
jae 0x100c95b8
mov eax, dword [ebp - 0x30]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov edx, dword [ebp - 0x10]
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edx
mov eax, dword [eax]
mov dword [ecx], 0
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.10008450
add esp, 0xc
jmp 0x100c927e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x100c96b0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], eax
jmp 0x100c96c5
mov eax, dword [ebp - 0xc]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100c9752
jmp 0x100c9752
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov esp, edx
mov dword [eax], ecx
jmp 0x100c93d3
jmp 0x100c95b8