Function at 0x1007dc40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10141034]
or eax, dword [0x10141038]
or eax, 0x83b894b
imul eax, eax, 0xe90c1271
and eax, 0xb5022082
imul eax, eax, 0x6d30f17
and eax, 0x985e059
imul eax, eax, 0x93bdfb09
imul eax, eax, 0x3af57b59
imul eax, eax, 0x66253ecb
add eax, 0xe3ef9d8a
sub eax, 0xa6b7f551
add eax, 0x90d8de8d
add eax, 0x3fb784b0
and eax, 0x9bae1bef
and eax, 0x7b0a9351
and eax, 0x94ce8887
xor eax, 0xe295ee64
and eax, 0x99c7578a
and eax, 0x31ad85e
sub eax, 0x86dd4e87
xor eax, 0xfaa20bc8
cmp eax, 0x67879676
jb 0x1007e7dd
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x1c], eax
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov ebx, esp
mov dword [ebp - 0x28], ebx
push eax
mov edi, esp
mov dword [ebp - 0x24], edi
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [esi], edx
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x64
call fcn.100e3321
mov edx, dword [ebp - 0x20]
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edi], 0
mov edx, dword [edx]
xor edx, dword [esi]
mov dword [ecx], edx
cmp eax, 0x28d2bf20
je 0x1007e7dd
jmp 0x1007dd3c
mov eax, dword [0x10141044]
imul eax, dword [0x10141048]
and eax, 0x941befd
mov ecx, 0x2c8ce80e
xor edx, edx
div ecx
and eax, 0x512497e6
xor eax, 0x6aef2bdd
add eax, 0x384f7157
and eax, 0x24400fce
or eax, 0xeb26062a
and eax, 0x8df604d4
sub eax, 0x1cfb264c
imul eax, eax, 0x6b1b060
mov ecx, 0x17a2ec3c
xor edx, edx
div ecx
mov ecx, 0xf1e84e62
xor edx, edx
div ecx
and eax, 0x82b23df7
and eax, 0x619cc75
mov ecx, 0xaee0d3b9
xor edx, edx
div ecx
imul eax, eax, 0xeb89909e
and eax, 0xcbedd617
mov ecx, 0x1f29ffa7
xor edx, edx
div ecx
sub eax, 0x921c7b3a
imul eax, eax, 0x225012ba
cmp eax, 0x41bebc9
jb 0x1007e834
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1014104c]
imul eax, dword [0x10141050]
and eax, 0xde1ca726
and eax, 0xf243dc79
or eax, 0xf144ea2d
xor eax, 0x9cf1dcb0
sub eax, 0xb1f82629
xor eax, 0x7995c056
add eax, 0x3089f6bb
imul eax, eax, 0x4bf85fd0
xor eax, 0xc23eea04
sub eax, 0xdc483369
sub eax, 0x136b7290
or eax, 0xe0986733
xor eax, 0xe62a5af8
and eax, 0xf1c23978
or eax, 0xbba618ca
xor eax, 0x53debfd6
xor eax, 0x766ec185
mov esi, 0x72c56cbb
xor edx, edx
div esi
mov esi, 0x9c9da653
xor edx, edx
div esi
mov esi, 0x14b8c785
xor edx, edx
div esi
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x29], cl
cmp eax, 0x1fdb34
jae 0x1007e834
mov al, byte [ebp - 0x29]
test al, 1
jne 0x1007de72
jmp 0x1007e364
mov eax, dword [str.c_k_]
xor eax, dword [0x10141058]
imul eax, eax, 0xabf1ecff
mov ecx, 0x4f3aae40
xor edx, edx
div ecx
xor eax, 0xef5b1045
mov ecx, 0x287f2876
xor edx, edx
div ecx
xor eax, 0xac0ca851
imul eax, eax, 0x2848dd83
or eax, 0x5f595a0f
imul eax, eax, 0x63e7125
imul eax, eax, 0x9b24180c
imul eax, eax, 0x62a6941b
or eax, 0xfa34cbde
and eax, 0xb762e7bf
mov ecx, 0x550d7821
xor edx, edx
div ecx
imul eax, eax, 0x14350fb5
mov ecx, 0xe3d16a8
xor edx, edx
div ecx
and eax, 0x85c6a629
mov ecx, 0xdd5752f6
xor edx, edx
div ecx
mov ecx, 0x951f331
xor edx, edx
div ecx
xor eax, 0xb7786c92
and eax, 0xf3ce99a
cmp eax, 0xb1e348bf
je 0x1007e839
mov eax, dword [str.m___n0_]
or eax, dword [0x10141060]
xor eax, 0xf19724ae
xor eax, 0x1c685c7f
and eax, 0xf9cd615e
mov ecx, 0x2f553996
xor edx, edx
div ecx
xor eax, 0x176b5ba5
xor eax, 0x629d0d08
xor eax, 0x91cc65c
mov ecx, 0x8f4c6c69
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, 0xa21ece2b
xor ecx, 0xb80a2154
xor ecx, 0x515f55
sub ecx, 0x8ceccc8
sub ecx, 0xd9de25f9
imul ecx, ecx, 0x3c2b7d1a
sub ecx, 0xb4b0336a
sub ecx, 0xfa6558ce
and ecx, 0xc4b0604a
xor ecx, 0x1db973bc
sub ecx, 0xa42b2775
imul ecx, ecx, 0xb2066b5b
mov dword [ebp - 0x30], ecx
mov eax, dword [eax]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x30]
cmp edx, 0
sete cl
mov byte [ebp - 0x2a], cl
cmp eax, 0xc7a16f16
ja 0x1007df0a
mov al, byte [ebp - 0x2a]
test al, 1
jne 0x1007dfc6
jmp 0x1007e0f7
mov eax, dword [0x10141064]
add eax, dword [0x10141068]
add eax, 0x7bd14530
and eax, 0x9fa65112
and eax, 0xad5c60a6
mov ecx, 0xb8bb1de3
xor edx, edx
div ecx
add eax, 0x27b3ab96
and eax, 0x5deaee3c
add eax, 0x504e3111
add eax, 0xbc8bf5c0
imul eax, eax, 0x6764235c
imul eax, eax, 0xa7d29228
imul eax, eax, 0xd280bb91
imul eax, eax, 0x5bb40c80
and eax, 0x5c53759d
mov ecx, 0x12d9d366
xor edx, edx
div ecx
imul eax, eax, 0x57ce05b9
add eax, 0x4efe69fe
add eax, 0xafaa3c53
xor eax, 0xf71c77c8
mov ecx, 0x99063e26
xor edx, edx
div ecx
imul eax, eax, 0x648d3781
cmp eax, 0x6c33a652
jae 0x1007e83e
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x1014106c]
xor edx, edx
div dword [0x10141070]
add eax, 0xb6f8b512
imul eax, eax, 0xfd1659f
sub eax, 0x588bacd
mov edi, 0xbc0c45b0
xor edx, edx
div edi
add eax, 0xa767b65d
xor eax, 0xd6f3a1c6
add eax, 0x3236b1e0
imul eax, eax, 0x8c602396
or eax, 0x68b9f7b6
sub eax, 0x6dbeb176
or eax, 0x50dd7233
or eax, 0xc441f41e
sub eax, 0xa3124ce6
add eax, 0x95838507
mov edi, 0xc6ee102b
xor edx, edx
div edi
xor eax, 0x3654f05a
or eax, 0x31e94f09
mov edi, 0xbd1e2f9f
xor edx, edx
div edi
imul eax, eax, 0x1218e810
or eax, 0xe3b5821a
mov ecx, dword [ecx]
mov edx, dword [esi]
mov edi, edx
add edi, 1
mov dword [esi], edi
mov byte [ecx + edx], 0x30
cmp eax, 0xf878eed6
ja 0x1007e052
jmp 0x1007e221
mov eax, dword [0x10141074]
and eax, dword [0x10141078]
add eax, 0x1d0783f
add eax, 0x827b6f9b
mov ecx, 0xb25d1672
xor edx, edx
div ecx
mov ecx, 0x510bf333
xor edx, edx
div ecx
or eax, 0x1f34fb
xor eax, 0xf3894cab
add eax, 0x43288f36
or eax, 0xeb552d70
mov ecx, 0xa860aa39
xor edx, edx
div ecx
add eax, 0x8adb526d
and eax, 0xc11bc31d
or eax, 0x5bb80cef
xor eax, 0xb1bc724f
imul eax, eax, 0x21343c6d
xor eax, 0x7db81741
imul eax, eax, 0xf8284
and eax, 0x6dd92744
and eax, 0x83cd9d29
add eax, 0x17506f03
xor eax, 0xc77b27d2
cmp eax, 0xe6d9d444
je 0x1007e858
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x1014107c]
imul eax, dword [0x10141080]
sub eax, 0x5e2de98c
imul eax, eax, 0x9fba7e25
or eax, 0x1c797daa
imul eax, eax, 0x54732edc
imul eax, eax, 0x2f1bf7f
mov edi, 0xaeace27
xor edx, edx
div edi
add eax, 0x885f3bc8
add eax, 0x960369c4
and eax, 0x92a299e3
add eax, 0x4dd1213c
and eax, 0x32aafe03
add eax, 0x75ff88e2
xor eax, 0x577eba5
imul eax, eax, 0x33eb912
xor eax, 0xfe09a68f
imul eax, eax, 0x186d83b
or eax, 0x6cd26b66
sub eax, 0x672a3f4c
mov edi, 0x550a3c95
xor edx, edx
div edi
sub eax, 0xb9a18df9
mov ecx, dword [ecx]
mov edx, dword [esi]
mov edi, edx
add edi, 1
mov dword [esi], edi
mov byte [ecx + edx], 0x31
cmp eax, 0xfc8d8c4a
je 0x1007e858
jmp 0x1007e221
mov eax, dword [0x10141084]
and eax, dword [0x10141088]
and eax, 0xec5c623d
add eax, 0xc374678
add eax, 0xb7f8929
mov ecx, 0x91d12abd
xor edx, edx
div ecx
mov ecx, 0x89cc4d9a
xor edx, edx
div ecx
and eax, 0x5eca0593
mov ecx, 0x7eda2315
xor edx, edx
div ecx
and eax, 0x64d29a28
mov ecx, 0xf6526fc6
xor edx, edx
div ecx
and eax, 0x7cf45b82
mov ecx, 0x3c798d6a
xor edx, edx
div ecx
and eax, 0x9cc4e61d
imul eax, eax, 0x267ece7d
add eax, 0xfc8e0258
imul eax, eax, 0xf5129050
mov ecx, 0xc85dea9d
xor edx, edx
div ecx
or eax, 0x298888af
and eax, 0xa55e0e4
mov ecx, 0x7f0837c6
xor edx, edx
div ecx
add eax, 0x898a077f
cmp eax, 0x1ee006ad
jbe 0x1007e872
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1014108c]
and eax, dword [0x10141090]
mov esi, 0xcf27730c
xor edx, edx
div esi
or eax, 0x9345808e
mov esi, 0xcfa1a6cf
xor edx, edx
div esi
mov esi, 0x9c7cefdf
xor edx, edx
div esi
xor eax, 0x644b655f
mov esi, 0x3dab931f
xor edx, edx
div esi
or eax, 0x21157326
xor eax, 0x91c077ba
and eax, 0x42e924c5
sub eax, 0x5d6642e5
imul eax, eax, 0xbd8439b8
or eax, 0xa1453730
sub eax, 0x5921fb42
mov esi, 0x7b42cae3
xor edx, edx
div esi
xor eax, 0x7b78205e
xor eax, 0x79faa455
xor eax, 0x501aa8a6
add eax, 0x3fc9b8f0
and eax, 0xa14b35dd
xor eax, 0x5ddd802b
mov dword [ebp - 0x34], eax
mov eax, dword [ecx]
mov esi, 2
cdq
idiv esi
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [ecx], edx
cmp eax, 0xfe9bfa48
ja 0x1007e2b9
jmp 0x1007dd3c
mov eax, dword [0x10141094]
add eax, dword [0x10141098]
and eax, 0x8ee4c25c
and eax, 0x2457fa93
and eax, 0x50015fe5
and eax, 0xc818514
or eax, 0x9c5bb728
mov ecx, 0xb43d4181
xor edx, edx
div ecx
xor eax, 0xeacff417
add eax, 0x2590ed54
and eax, 0xb512e7d0
imul eax, eax, 0x346b35e5
and eax, 0x86fb6e4d
mov ecx, 0x33e6ef8f
xor edx, edx
div ecx
or eax, 0x68bf6a16
sub eax, 0xd3e90fe9
add eax, 0xcb5ab4ea
xor eax, 0x8a930c3d
mov ecx, 0x624d4524
xor edx, edx
div ecx
imul eax, eax, 0x1f993d9e
xor eax, 0xde72a7f1
or eax, 0x762a07e2
cmp eax, 0xd892b763
jb 0x1007e88b
mov eax, dword [0x1014109c]
sub eax, dword [0x101410a0]
and eax, 0x933d20e0
and eax, 0x83087d05
and eax, 0xca2265d3
xor eax, 0xbd7628a1
xor eax, 0xd7818125
imul eax, eax, 0x2c6358f3
sub eax, 0x41edc97f
or eax, 0x11ec42de
mov ecx, 0xec4cba92
xor edx, edx
div ecx
imul eax, eax, 0x80f42943
or eax, 0xee6fe46c
or eax, 0xf6fccdc0
imul eax, eax, 0x8f8b899e
add eax, 0x1973f961
xor eax, 0xc334828c
or eax, 0x2cfc5c57
sub eax, 0xc51ed9c8
xor eax, 0x321370a8
mov ecx, 0x1585472e
xor edx, edx
div ecx
add eax, 0xc3e423e9
cmp eax, 0xed61163
jbe 0x1007e88b
mov eax, dword [0x101410a4]
sub eax, dword [0x101410a8]
or eax, 0xfedd353e
imul eax, eax, 0xa05f5b90
mov ecx, 0x36936f18
xor edx, edx
div ecx
xor eax, 0xcdca4ac6
add eax, 0xa9d8610
and eax, 0x43a1f83
sub eax, 0xdc6569a7
imul eax, eax, 0xd31633ae
or eax, 0x8e05663f
imul eax, eax, 0x71f127d5
add eax, 0xe1ac8ba4
imul eax, eax, 0xd8c97e75
sub eax, 0xcee38096
imul eax, eax, 0x87f9abf1
xor eax, 0x214e77e
add eax, 0xfa255bc0
imul eax, eax, 0xf7b57816
mov ecx, 0x330d0305
xor edx, edx
div ecx
sub eax, 0xccd2df3c
or eax, 0x2d5c0292
cmp eax, 0xdf22ba2f
ja 0x1007e7ca
mov eax, dword [0x101410ac]
add eax, dword [0x101410b0]
mov ecx, 0x5d1777a4
xor edx, edx
div ecx
or eax, 0xbad7ad41
xor eax, 0x3ecdcc89
and eax, 0x9fdfb0d0
sub eax, 0x56554075
add eax, 0xfad1fd9b
add eax, 0xcafce87f
and eax, 0x2ed1ea64
mov ecx, 0x6d914f92
xor edx, edx
div ecx
imul eax, eax, 0x750fedef
xor eax, 0x1123051
and eax, 0xbad46463
mov ecx, 0x9b2b821c
xor edx, edx
div ecx
or eax, 0x7dd8d404
add eax, 0x73cad80a
or eax, 0x5c1b8d2b
add eax, 0x758337d6
xor eax, 0xfac7a246
xor eax, 0x23b46e29
sub eax, 0xaa011040
cmp eax, 0xfe2cb634
ja 0x1007e890
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov eax, dword [0x101410b4]
add eax, dword [0x101410b8]
mov edi, 0x281d6288
xor edx, edx
div edi
or eax, 0xad35179b
xor eax, 0x3f17ce80
imul eax, eax, 0x315f093c
xor eax, 0xf477d18d
xor eax, 0xde55d6d4
xor eax, 0x8be00f9e
sub eax, 0x69dc0389
mov edi, 0x4baf2b25
xor edx, edx
div edi
and eax, 0x6bc569bf
or eax, 0x7ea6f09d
xor eax, 0xe189ee87
imul eax, eax, 0xf14bd5a0
and eax, 0xf237aabd
xor eax, 0xc50a724f
mov edi, 0x27c650e
xor edx, edx
div edi
sub eax, 0x1cca7360
imul eax, eax, 0x26605882
mov edi, 0xac1eca94
xor edx, edx
div edi
mov edi, 0xa4cbdcfc
xor edx, edx
div edi
mov edx, dword [ecx]
mov esi, dword [esi]
mov byte [edx + esi], 0
mov ecx, dword [ecx]
mov dword [ebp - 0x38], ecx
cmp eax, 0x19ebda4c
jae 0x1007e890
mov eax, dword [0x101410bc]
and eax, dword [0x101410c0]
or eax, 0xfa3d173a
mov ecx, 0xe16dc007
xor edx, edx
div ecx
xor eax, 0x9bb81520
xor eax, 0x6da776d6
or eax, 0x77a47345
or eax, 0x5e064dfd
add eax, 0xe0990639
add eax, 0x208d4460
and eax, 0x9a697e70
xor eax, 0x94b24264
imul eax, eax, 0xf4475cb
or eax, 0xf7d560ce
or eax, 0x374c26b7
add eax, 0xc5c25167
xor eax, 0xee51b889
and eax, 0x8c5f0a35
mov ecx, 0x4c8e48eb
xor edx, edx
div ecx
or eax, 0x89120c0b
mov ecx, 0xfb515849
xor edx, edx
div ecx
add eax, 0x5172f20
cmp eax, 0x255d9be7
ja 0x1007e4f9
mov eax, dword [0x101410c4]
imul eax, dword [0x101410c8]
and eax, 0xadfceba6
or eax, 0x6be315c2
xor eax, 0x99c55f8
imul eax, eax, 0x7e9cb05e
imul eax, eax, 0x33c2d2c0
mov ecx, 0x64287376
xor edx, edx
div ecx
imul eax, eax, 0xc9540b23
mov ecx, 0x9dcf37bc
xor edx, edx
div ecx
imul eax, eax, 0x9d9076cb
and eax, 0x48040ab6
mov ecx, 0x229ff25f
xor edx, edx
div ecx
mov ecx, 0x483e252d
xor edx, edx
div ecx
xor eax, 0x8bed71b
mov ecx, 0xf95c6aab
xor edx, edx
div ecx
and eax, 0x582eb740
xor eax, 0xd32f83c9
or eax, 0x8e93d74e
imul eax, eax, 0xf2ba33c8
imul eax, eax, 0xec54680c
add eax, 0xa16b78de
cmp eax, 0x5570c22c
je 0x1007e8a3
mov eax, dword [0x101410cc]
xor edx, edx
div dword [0x101410d0]
add eax, 0x417ad3e3
and eax, 0xfad66bfc
imul eax, eax, 0xb2a3e0c5
imul eax, eax, 0xfa3f7471
xor eax, 0x34f532a8
imul eax, eax, 0xfc98e201
add eax, 0xe69bd47b
add eax, 0x2a8654d5
and eax, 0xea443418
or eax, 0xc6c656c2
and eax, 0x3018b08
xor eax, 0x6dee7ba2
or eax, 0x1832d35e
and eax, 0xf918736b
add eax, 0x2e3ec39
and eax, 0x461c6026
xor eax, 0x88f9c9af
and eax, 0xb364671c
sub eax, 0x9f8a2c26
xor eax, 0xc8e1f46a
cmp eax, 0x86f431ef
ja 0x1007e740
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], 0
jmp 0x1007e4f9
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
push eax
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov edi, esp
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
mov dword [edx], ebx
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x64
call fcn.100e3321
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x3c]
mov dword [edi], ebx
mov dword [esi], 0
mov ecx, dword [ecx]
mov edx, dword [edx]
xor ecx, edx
mov dword [eax], ecx
jmp 0x1007dcd4
jmp 0x1007ddce
jmp 0x1007df0a
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [edx]
mov esi, ecx
add esi, 1
mov dword [edx], esi
mov byte [eax + ecx], 0x30
jmp 0x1007e052
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [edx]
mov esi, ecx
add esi, 1
mov dword [edx], esi
mov byte [eax + ecx], 0x31
jmp 0x1007e17f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, 2
cdq
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
jmp 0x1007e2b9
jmp 0x1007e3ec
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], 0
jmp 0x1007e580
jmp 0x1007e740