Function at 0x100798a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100d5610]
xor edx, edx
div dword [0x100d5614]
xor eax, 0xd952fffc
add eax, 0x58df692e
add eax, 0x40510789
xor eax, 0xdca5e822
and eax, 0xc84738bc
add eax, 0x42174c7
add eax, 0xf0a647e0
mov ecx, 0x7db2d0f3
xor edx, edx
div ecx
sub eax, 0x2b79d862
sub eax, 0x7269faa8
and eax, 0x9272de05
imul eax, eax, 0xd8b9dbc3
add eax, 0xa432f06c
and eax, 0x9f655c23
xor eax, 0xb18d083e
or eax, 0x5cda5b26
xor eax, 0xbd0ac7e0
sub eax, 0xbc05708d
mov ecx, 0x51fb89c4
xor edx, edx
div ecx
mov ecx, 0x272e6178
xor edx, edx
div ecx
and eax, 0x3e1ded99
imul eax, eax, 0x327c4625
sub eax, 0x9f971df8
mov ecx, 0x31217992
xor edx, edx
div ecx
mov ecx, 0xed68c4fd
xor edx, edx
div ecx
xor eax, 0xaca28337
mov ecx, 0x8500468f
xor edx, edx
div ecx
mov ecx, 0x7404123e
xor edx, edx
div ecx
sub eax, 0x50751679
sub eax, 0x842391e8
xor eax, 0x76f57293
add eax, 0xa72838d3
imul eax, eax, 0xdcb33c5b
imul eax, eax, 0x5f4a9ac6
imul eax, eax, 0xdff380b6
or eax, 0xe6c08b17
imul eax, eax, 0x4e7ca583
sub eax, 0x4c84c6e6
or eax, 0x4fd41910
imul eax, eax, 0xe2eb674c
or eax, 0x395e051b
or eax, 0xce9d2654
or eax, 0xce8d39c0
mov ecx, 0xf1868c97
xor edx, edx
div ecx
or eax, 0xb77d07b3
and eax, 0x2ba9b37f
add eax, 0x9bbbabb1
sub eax, 0x28a4e49a
imul eax, eax, 0x4db2524a
mov ecx, 0xa391a438
xor edx, edx
div ecx
add eax, 0x8ec40510
mov ecx, 0xc4b582aa
xor edx, edx
div ecx
sub eax, 0x8f7cb9e
mov ecx, 0x7d2a2df2
xor edx, edx
div ecx
sub eax, 0xec8b5067
or eax, 0x49c8fe64
sub eax, 0xf9f48298
and eax, 0x611a9311
mov ecx, 0x5db667be
xor edx, edx
div ecx
xor eax, 0x9409f363
mov ecx, 0xdd07da64
xor edx, edx
div ecx
mov ecx, 0x85ee8013
xor edx, edx
div ecx
add eax, 0xb702843e
and eax, 0x491c9e30
and eax, 0xf1423a99
and eax, 0x8768ced1
sub eax, 0x58d3f399
sub eax, 0x1840585d
sub eax, 0xc0af3cf
imul eax, eax, 0xeddda969
xor eax, 0xdc14d65
add eax, 0xa9a75e32
cmp eax, 0x2690de2
jbe 0x1007a206
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov eax, 0x4254f0dc
push eax
mov ecx, esp
mov dword [ebp - 0x30], ecx
push eax
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov esi, esp
mov dword [ebp - 0x28], esi
push eax
mov ecx, esp
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi], ebx
mov dword [ecx], edi
mov ecx, 0xffffffff
sub ecx, dword [esi]
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0x1d], cl
cmp eax, 0xae69a5b6
ja 0x1007a206
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x10079ad5
jmp 0x10079b1d
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x216
cmp dword [ebp - 0x10], 0
jg 0x10079af6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
jmp 0x10079b0b
mov eax, dword [ebp - 0x10]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov esp, edx
mov dword [eax], ecx
jmp 0x10079e83
mov eax, dword [0x100d5620]
and eax, dword [0x100d5624]
xor eax, 0x4f9f14cf
or eax, 0xa30569fa
or eax, 0xd0a2e70a
or eax, 0x378fcc65
and eax, 0x70349580
and eax, 0xa425cad1
sub eax, 0x75ebe289
mov ecx, 0x41bac395
xor edx, edx
div ecx
xor eax, 0x785b950f
and eax, 0x473f0459
add eax, 0xb7fd0c14
mov ecx, 0x12b46f08
xor edx, edx
div ecx
or eax, 0x29404896
sub eax, 0xcc590039
or eax, 0xa0d11f3a
xor eax, 0x71d7a6b3
and eax, 0x138b11c
imul eax, eax, 0x2a8b710c
xor eax, 0x48432d5c
or eax, 0xdb36d65a
mov ecx, 0x6b70c149
xor edx, edx
div ecx
or eax, 0x5a3de04b
add eax, 0x63e32884
add eax, 0x9ad55acc
and eax, 0x9abf4b9a
or eax, 0xf5b7e57c
and eax, 0xa08d5919
xor eax, 0xb1f5c28a
and eax, 0x2b713285
imul eax, eax, 0xcc7bca9b
and eax, 0x2da9514d
add eax, 0x6b3be5e6
sub eax, 0x5c407d2e
imul eax, eax, 0xc04b4eaa
and eax, 0x56688d88
and eax, 0x94d017fc
mov ecx, 0x91ed5503
xor edx, edx
div ecx
mov ecx, 0x8e794404
xor edx, edx
div ecx
or eax, 0xec792533
sub eax, 0x1f4116bb
add eax, 0x499f51f9
imul eax, eax, 0x93571385
xor eax, 0x22e820a6
xor eax, 0x9204d8e1
and eax, 0x20706bb2
or eax, 0xd11f83ee
imul eax, eax, 0x2649aaf1
xor eax, 0x239c0bb2
add eax, 0xbdd2c26b
add eax, 0x54ebd5ae
xor eax, 0x8191d0fc
xor eax, 0xc9b9d74
add eax, 0x15113b7f
and eax, 0xaa8f664a
add eax, 0x173f35c8
and eax, 0x5f8634b4
or eax, 0xc345e940
or eax, 0xc86c639
add eax, 0x53f23e2
imul eax, eax, 0x44b35fe9
mov ecx, 0xb25c5698
xor edx, edx
div ecx
imul eax, eax, 0x844f6e97
sub eax, 0x8245af94
xor eax, 0xd27141c5
or eax, 0xae2d350c
and eax, 0xf62c3b1b
or eax, 0x116533e7
sub eax, 0xcf0fae9b
or eax, 0x6d4f2ed
or eax, 0x4a7e770d
or eax, 0xad437a19
mov ecx, 0x5c10a1a5
xor edx, edx
div ecx
cmp eax, 0xc061401e
ja 0x1007a224
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov eax, dword [0x100d5628]
xor eax, dword [str.CMxm]
xor eax, 0x23e92e0b
add eax, 0x117193d5
imul eax, eax, 0x43d38143
sub eax, 0xe2c94fc2
xor eax, 0x2773eccb
sub eax, 0x34eb2749
mov ebx, 0x113c6f2d
xor edx, edx
div ebx
add eax, 0xa543a7e9
mov ebx, 0xef2902e
xor edx, edx
div ebx
add eax, 0x5327e40f
or eax, 0x4b1de262
xor eax, 0x41acf349
or eax, 0xc1462edf
imul eax, eax, 0xc5fb2a19
sub eax, 0xa89fe91a
sub eax, 0x4f671e24
or eax, 0x720333a3
imul eax, eax, 0x3afeccf
xor eax, 0xb5052bc0
mov ebx, 0x4e40333
xor edx, edx
div ebx
sub eax, 0x7d6800cc
or eax, 0xabda33e3
imul eax, eax, 0xd8cc3a19
xor eax, 0x5b30d304
mov ebx, 0x9ae62988
xor edx, edx
div ebx
mov ebx, 0x76c03939
xor edx, edx
div ebx
sub eax, 0x703ad974
imul eax, eax, 0x39d55a24
or eax, 0x9b6d6eed
mov ebx, 0xb72ed6f6
xor edx, edx
div ebx
and eax, 0x59e77c3e
add eax, 0xd62916cd
or eax, 0x3eadc8aa
add eax, 0x8840fc56
add eax, 0x393dd4b0
or eax, 0x30066f16
imul eax, eax, 0xb6eddb23
add eax, 0x8ae87a32
add eax, 0x8b96227e
sub eax, 0x49511c17
mov ebx, 0xd42f5da0
xor edx, edx
div ebx
xor eax, 0x190e334d
or eax, 0x6923a7a0
or eax, 0xc44fa40b
or eax, 0x43ce713e
and eax, 0x11c010d3
add eax, 0x12b740ea
mov ebx, 0x4ccae0e4
xor edx, edx
div ebx
mov edx, dword [ebp - 0x24]
sub eax, 0xfc56ac22
and eax, 0xd5f69e2a
sub eax, 0xbadee07a
or eax, 0x2809ec66
imul eax, eax, 0xff692c55
xor eax, 0x59baf142
and eax, 0xbbd6f992
xor eax, 0xfe2d8e1
add eax, 0x18de75fa
sub eax, 0x1ab584ad
and eax, 0x5d974c32
sub eax, 0x6a3cec07
and eax, 0x969fc35a
or eax, 0xebbee008
add eax, 0xdee97832
and eax, 0xad8c60be
and eax, 0x440ee724
add eax, 0x4f819082
xor eax, 0x4ba5811
or eax, 0xcb4f5e96
sub eax, 0x8b7fa83d
and eax, 0x29afcf05
add eax, 0x1b5c6e30
imul eax, eax, 0xadb9f1e9
mov esi, dword [esi]
add esi, dword [edi]
mov edx, dword [edx]
mov dword [edx], esi
mov dword [ecx], 0
cmp eax, 0xa491441e
ja 0x10079cbe
jmp 0x10079e83
mov eax, dword [0x100d5630]
xor eax, dword [0x100d5634]
add eax, 0x472abdfc
mov ecx, 0xfc7c2768
xor edx, edx
div ecx
and eax, 0x757a5da
and eax, 0xd443e70c
and eax, 0x2bada99d
mov ecx, 0xfa09dc84
xor edx, edx
div ecx
imul eax, eax, 0x3c1dfea5
xor eax, 0x1bfc1456
and eax, 0x120a2a86
and eax, 0x1677f1ec
mov ecx, 0x31601066
xor edx, edx
div ecx
or eax, 0x5255af43
xor eax, 0xe191e8ca
add eax, 0x7fa0ba48
or eax, 0x7fe54447
and eax, 0x7e7ae184
and eax, 0x2a839bee
xor eax, 0x7486256e
or eax, 0x9253437d
mov ecx, 0x809f684f
xor edx, edx
div ecx
add eax, 0x5dca4176
xor eax, 0xb0b1e4b3
sub eax, 0x5894f59
mov ecx, 0x85959cab
xor edx, edx
div ecx
imul eax, eax, 0x2866992c
or eax, 0xf47ec86e
xor eax, 0x5885abc7
and eax, 0x571089cd
add eax, 0xcee48cf6
imul eax, eax, 0xc4bfaec2
or eax, 0xd52db0d5
sub eax, 0x85eed011
imul eax, eax, 0x879f8f29
and eax, 0xc79e697a
xor eax, 0xa38603de
and eax, 0xa1031794
and eax, 0x4d5d2150
imul eax, eax, 0xe8dda376
mov ecx, 0xbf74c46e
xor edx, edx
div ecx
sub eax, 0x32e7d5fa
and eax, 0x4b2e35c7
or eax, 0x11544aea
sub eax, 0x57d00932
xor eax, 0x17651944
mov ecx, 0x24ee4bd
xor edx, edx
div ecx
add eax, 0x5c2b8594
add eax, 0xf3b981f7
mov ecx, 0xa0ba7fb6
xor edx, edx
div ecx
xor eax, 0x85fe940b
mov ecx, 0x3e8205e6
xor edx, edx
div ecx
or eax, 0x66af4b72
xor eax, 0x2d533bac
and eax, 0xcdea6e80
add eax, 0x4b1c6b69
add eax, 0xef9b76f4
sub eax, 0xf5880250
mov ecx, 0x21477f56
xor edx, edx
div ecx
and eax, 0x99586fb8
xor eax, 0x8ece76c
or eax, 0xe2f149c9
or eax, 0x2638c79f
add eax, 0x88c23625
add eax, 0x52fd8600
imul eax, eax, 0x83c3e7d
sub eax, 0x6cc663b4
mov ecx, 0x86766b9e
xor edx, edx
div ecx
imul eax, eax, 0x965fdfc7
mov ecx, 0x2cba2dcd
xor edx, edx
div ecx
or eax, 0x151d57ba
add eax, 0x91889981
mov ecx, 0xe62bb953
xor edx, edx
div ecx
xor eax, 0xb2973da1
cmp eax, 0x193507c4
jb 0x1007a243
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x100d5638]
imul eax, dword [0x100d563c]
or eax, 0x7341eff4
imul eax, eax, 0x49f6a8e6
mov esi, 0x9aec1889
xor edx, edx
div esi
sub eax, 0x4c941523
imul eax, eax, 0x6ab6973e
or eax, 0x47a04fed
sub eax, 0xf8fc114c
add eax, 0xdb8d6ec0
sub eax, 0x4486600a
add eax, 0x3ecf7202
and eax, 0x6a1dca40
add eax, 0xfed81555
add eax, 0x330a239a
xor eax, 0xc41a3304
and eax, 0x2dbdfa1d
add eax, 0x241424e
imul eax, eax, 0xbd31743
imul eax, eax, 0x8d080013
and eax, 0x2ab150fe
mov esi, 0xad8059e1
xor edx, edx
div esi
xor eax, 0xd0f3383a
mov esi, 0xb98bb80e
xor edx, edx
div esi
mov esi, 0x8f194872
xor edx, edx
div esi
imul eax, eax, 0xe38cd57c
or eax, 0x4eaf2bdd
imul eax, eax, 0x7a768c8b
imul eax, eax, 0xe4aa9a71
mov esi, 0x496e173b
xor edx, edx
div esi
xor eax, 0x94d119fb
mov esi, 0x5456b2b
xor edx, edx
div esi
and eax, 0xa6887a
sub eax, 0xa3dfc6bf
xor eax, 0xc7979135
imul eax, eax, 0xb6f85961
or eax, 0x2b6fdbef
xor eax, 0x2729ea6c
imul eax, eax, 0x4b7b9dfe
mov esi, 0x17e4fab9
xor edx, edx
div esi
and eax, 0x54053db7
and eax, 0x2c0882fe
or eax, 0x96a084be
imul eax, eax, 0xe8266e92
imul eax, eax, 0x93711d23
xor eax, 0x7c6a3e4f
or eax, 0x494d7dbf
imul eax, eax, 0x8bcaf465
and eax, 0x1d771d21
and eax, 0x22a2199b
xor eax, 0xa8920e43
imul eax, eax, 0x53a17426
imul eax, eax, 0x8d4d4482
sub eax, 0x142c1a8c
mov esi, 0xf248c0e4
xor edx, edx
div esi
and eax, 0x21cdf31e
add eax, 0xbd52b4a2
imul eax, eax, 0x59f2dbdb
and eax, 0x5262c6ad
sub eax, 0xd6de3d46
and eax, 0xb9a0dd48
and eax, 0xd7bb9717
imul eax, eax, 0x97f6f180
and eax, 0xd5e446da
mov esi, 0xe9d8b453
xor edx, edx
div esi
and eax, 0x5d5373fc
xor eax, 0x8a61f323
mov esi, 0x547a182c
xor edx, edx
div esi
sub eax, 0xf52cb17c
xor eax, 0x4cfbdb90
sub eax, 0x312f3492
add eax, 0x6441013c
sub eax, 0x5194b9a
or eax, 0xd748cfae
mov ecx, dword [ecx]
mov dword [ebp - 0x3c], ecx
cmp eax, 0x9ac9c5f1
je 0x1007a243
mov eax, dword [ebp - 0x3c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x10079a7c
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
add edx, dword [esi]
mov ecx, dword [ecx]
mov dword [ecx], edx
mov dword [eax], 0
jmp 0x10079cbe
jmp 0x1007a03c