Function at 0x10050440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x2c
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
mov eax, dword [0x100d4ac0]
xor edx, edx
div dword [0x100d4ac4]
xor eax, 0x23056e6
or eax, 0x44f08da3
sub eax, 0x4b9cd346
xor eax, 0x95746d37
and eax, 0xb98bab00
or eax, 0x7d58dd75
imul eax, eax, 0x60c23505
and eax, 0x388fa821
add eax, 0xfdc2ade3
add eax, 0x86f6b9f1
imul eax, eax, 0x5c8be37
add eax, 0xf709d19f
add eax, 0x545507dd
add eax, 0x8b681c96
mov ecx, 0xc1437d7
xor edx, edx
div ecx
imul eax, eax, 0x2b45fcdd
xor eax, 0x88a92095
add eax, 0x7503e985
sub eax, 0x2973f6da
and eax, 0x73b19bc2
and eax, 0x7974d42c
xor eax, 0xc45788ee
mov ecx, 0x7c565d1b
xor edx, edx
div ecx
or eax, 0x7da23159
or eax, 0xc719fd92
xor eax, 0xe0d8f472
add eax, 0xd88b3adf
or eax, 0x7cfaabd8
sub eax, 0xde3e2cde
xor eax, 0x681ee9a3
xor eax, 0x289f2fd1
and eax, 0xcec72cea
mov ecx, 0x69d0757b
xor edx, edx
div ecx
sub eax, 0x90e83170
add eax, 0x9d973d91
mov ecx, 0x441e3ae1
xor edx, edx
div ecx
or eax, 0x21cce3cf
imul eax, eax, 0xc377999
or eax, 0x6320617e
xor eax, 0xcc5e3aa4
add eax, 0x7af752db
imul eax, eax, 0x89da32ef
sub eax, 0xf794b206
add eax, 0x71a594a5
or eax, 0x452c06a5
or eax, 0x6b5aa9d6
and eax, 0x1377e0e1
and eax, 0x1e74a431
or eax, 0x9fe463bc
sub eax, 0x7adf7d18
sub eax, 0xd247b95d
imul eax, eax, 0x7100a60f
and eax, 0x63f7a5bb
and eax, 0x97d1de1c
and eax, 0xb277352
add eax, 0x102699a7
mov ecx, 0xb2c8521b
xor edx, edx
div ecx
mov ecx, 0xffdd57b5
xor edx, edx
div ecx
and eax, 0x1aa612ae
mov ecx, 0x28097997
xor edx, edx
div ecx
and eax, 0x8582f85
xor eax, 0xb71c2a9f
add eax, 0xd20d2798
and eax, 0x8cbaa87d
imul eax, eax, 0x8039f145
or eax, 0x2164e5f8
imul eax, eax, 0x714e5d2f
mov ecx, 0xf7769e10
xor edx, edx
div ecx
sub eax, 0xc66591ed
add eax, 0x3f532f97
sub eax, 0xbff81664
mov ecx, 0x487d768f
xor edx, edx
div ecx
cmp eax, 0xb6ea8d8b
je 0x100510e1
mov eax, dword [0x100d4ac8]
imul eax, dword [0x100d4acc]
and eax, 0xf24c65ef
imul eax, eax, 0xbd6e5bca
or eax, 0xc4d6b67f
xor eax, 0x7eca2983
xor eax, 0xb2c4570a
sub eax, 0x4d47ceca
mov ecx, 0x8afd37f5
xor edx, edx
div ecx
or eax, 0xc73b4f1
xor eax, 0x9a16c28c
and eax, 0xe0b7e11f
or eax, 0xc4b5ce1
and eax, 0xc45d1811
xor eax, 0xdbfcf879
imul eax, eax, 0xe5e1a343
add eax, 0x1f6d7a76
add eax, 0x24bf78cc
and eax, 0x3b3db736
add eax, 0x43efaf39
imul eax, eax, 0xc4cfb3b5
imul eax, eax, 0x8ad8f17d
imul eax, eax, 0x71c90f88
and eax, 0x6e7de5d8
or eax, 0x38b3db6b
imul eax, eax, 0x10b7c46a
imul eax, eax, 0xeba8f1a0
or eax, 0x1218c294
imul eax, eax, 0xd7853655
add eax, 0x16b74d42
or eax, 0x35220884
add eax, 0x566ae30d
or eax, 0x2aa83bc0
and eax, 0xdf953de6
sub eax, 0x850a2960
or eax, 0xa5c20b47
add eax, 0x69c88902
sub eax, 0x291ea75f
and eax, 0xf291c039
xor eax, 0xad4724fb
imul eax, eax, 0xb0c3a8a2
imul eax, eax, 0xd34d865a
sub eax, 0xa726adfd
sub eax, 0x26f8dd66
mov ecx, 0x17953f93
xor edx, edx
div ecx
mov ecx, 0xce5b766e
xor edx, edx
div ecx
sub eax, 0x5875c1d2
imul eax, eax, 0x4fb4e89e
and eax, 0x80558431
and eax, 0xe8867f17
mov ecx, 0xb6b8bc82
xor edx, edx
div ecx
and eax, 0x9684faf4
mov ecx, 0xa32e1e2e
xor edx, edx
div ecx
xor eax, 0xaab32e7e
xor eax, 0x5443f41f
xor eax, 0x645f36f9
and eax, 0xd7f47281
xor eax, 0xb567607a
imul eax, eax, 0x6d4a84b0
and eax, 0xf5023f33
add eax, 0xeb842d12
xor eax, 0x55c320a7
imul eax, eax, 0xba148dc2
xor eax, 0x63f064f9
imul eax, eax, 0x86433cea
imul eax, eax, 0x5ef9526d
xor eax, 0x76181810
or eax, 0x97906bda
sub eax, 0x6159b6ca
add eax, 0xef3af7d7
add eax, 0x96cba263
xor eax, 0x10b11250
or eax, 0x2af98c88
imul eax, eax, 0x51ccc94d
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp + 0x10]
setb cl
mov byte [ebp - 0x19], cl
cmp eax, 0x603af605
jae 0x1005060f
mov al, byte [ebp - 0x19]
test al, 1
jne 0x100507ce
jmp 0x10050ee7
mov eax, dword [0x100d4ad0]
and eax, dword [0x100d4ad4]
xor eax, 0x17ba2737
sub eax, 0xc99a23c
mov ecx, 0x2be118ae
xor edx, edx
div ecx
or eax, 0x35ad37a
mov ecx, 0xd90e50d8
xor edx, edx
div ecx
sub eax, 0xabd7f494
imul eax, eax, 0x7675d7ed
sub eax, 0x2d70edb7
imul eax, eax, 0x9c2d4a0c
mov ecx, 0xcc27902d
xor edx, edx
div ecx
and eax, 0xe29bd6d0
add eax, 0xa8fb31dc
mov ecx, 0x5a495a7b
xor edx, edx
div ecx
imul eax, eax, 0xdcc5434e
or eax, 0x9c19b61d
add eax, 0x91ab2ae5
imul eax, eax, 0xde809e80
sub eax, 0x8eec0ef9
imul eax, eax, 0x59f47877
xor eax, 0xff2acb31
and eax, 0x6d1fb158
add eax, 0x776d315f
and eax, 0xc0f966b9
imul eax, eax, 0x2a9ac80c
add eax, 0x7839d895
or eax, 0x4fa0ab76
xor eax, 0xeb9c87dc
sub eax, 0x40192c60
mov ecx, 0xf787238e
xor edx, edx
div ecx
sub eax, 0xc11da589
sub eax, 0x66a6d5e2
imul eax, eax, 0x41856dbd
or eax, 0x56f38951
mov ecx, 0x67f9ca49
xor edx, edx
div ecx
imul eax, eax, 0xd59fc30e
mov ecx, 0x8850704c
xor edx, edx
div ecx
add eax, 0x8e532a86
mov ecx, 0x4533d1cd
xor edx, edx
div ecx
add eax, 0xb98945d
add eax, 0x75945712
and eax, 0x44f03269
and eax, 0x54afeec6
or eax, 0xc3ed0ce7
xor eax, 0x46fe95ab
xor eax, 0x25dc022e
or eax, 0x970a8b04
sub eax, 0x1009ca62
sub eax, 0xef16991a
xor eax, 0xe103db46
mov ecx, 0x24ce5cb7
xor edx, edx
div ecx
or eax, 0x7d6622fe
add eax, 0x5ec6ab4f
add eax, 0xbd673998
add eax, 0xfd0b6eb1
xor eax, 0xd990fb5e
xor eax, 0x7d4e3f1a
or eax, 0x8da85cb8
mov ecx, 0x3a002f7f
xor edx, edx
div ecx
add eax, 0x13fc2999
or eax, 0xac2391d6
imul eax, eax, 0x65764512
imul eax, eax, 0xe8347d21
imul eax, eax, 0xd3a84b7b
and eax, 0xdca8ecf2
and eax, 0xba831b98
add eax, 0x884afae
or eax, 0x42bf92c8
or eax, 0x8730c0bd
mov ecx, 0x8ea3ca06
xor edx, edx
div ecx
or eax, 0xedc6ef69
imul eax, eax, 0xa200cc2
or eax, 0x2a89ad97
cmp eax, 0x9fde838d
jb 0x100510e6
mov eax, dword [0x100d4ad8]
or eax, dword [0x100d4adc]
mov ecx, 0xbdc3e62f
xor edx, edx
div ecx
xor eax, 0x573c90ae
add eax, 0x89b58c26
or eax, 0xe5aa1649
xor eax, 0x682a4c5
sub eax, 0x1341044
and eax, 0x61fc7a7
xor eax, 0x60710b4c
xor eax, 0x407f81cb
and eax, 0xd21f3547
add eax, 0x44b16e4b
add eax, 0x3c2408e7
or eax, 0x6527a010
mov ecx, 0xb68577c5
xor edx, edx
div ecx
and eax, 0xb771a110
sub eax, 0x1022e72f
add eax, 0xd949cc8e
imul eax, eax, 0xb9181ab6
sub eax, 0x5b08b4a3
imul eax, eax, 0xc7c1938c
or eax, 0x26e7f3ae
and eax, 0x7e71d368
sub eax, 0xbbcb3aac
add eax, 0x5486b4e5
and eax, 0x1ce9070
or eax, 0xbe704711
imul eax, eax, 0xa36d89ba
xor eax, 0x2eeb8324
or eax, 0xf865c6e6
add eax, 0xbc62b77
xor eax, 0x3808b4bb
add eax, 0x5774b056
and eax, 0x97cf5ded
xor eax, 0x24ef00ac
mov ecx, 0x7a6efe7
xor edx, edx
div ecx
imul eax, eax, 0xd1a99790
and eax, 0xc6820a73
and eax, 0x90ea50bd
mov ecx, 0x1deb9f06
xor edx, edx
div ecx
mov ecx, 0x7d9bec7c
xor edx, edx
div ecx
and eax, 0x84943750
mov ecx, 0x90e6f7fc
xor edx, edx
div ecx
xor eax, 0xf2e224de
mov ecx, 0xba978fd2
xor edx, edx
div ecx
sub eax, 0x632d0158
imul eax, eax, 0xad073bcb
imul eax, eax, 0xc16d0132
add eax, 0x64c4ffa9
xor eax, 0xbd17c952
add eax, 0x286ee734
mov ecx, 0xdba86a26
xor edx, edx
div ecx
sub eax, 0x46d84eae
or eax, 0xa411b76b
and eax, 0xb794badd
xor eax, 0x298cf314
add eax, 0x83aadda9
imul eax, eax, 0x9d66065f
sub eax, 0xe5202fc9
or eax, 0xfa12f71e
mov ecx, 0x8226507d
xor edx, edx
div ecx
xor eax, 0x519affd9
add eax, 0x41085be2
sub eax, 0x94fa2efd
or eax, 0x183f41b2
xor eax, 0x3e9efb08
and eax, 0x22391216
sub eax, 0x3c49ddac
and eax, 0x15c27407
imul eax, eax, 0x3c6301fe
and eax, 0xcf8fbc3c
sub eax, 0xa423a01c
sub eax, 0x5bd62bc2
mov dword [ebp - 0x20], eax
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.10006800
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov bl, byte [ecx + edx]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov byte [ecx + edx], bl
cmp eax, 0xca5c12aa
jae 0x10050984
jmp 0x10050b5f
mov eax, dword [0x100d4ae0]
sub eax, dword [0x100d4ae4]
mov ecx, 0xf22ad2a0
xor edx, edx
div ecx
sub eax, 0x7c0a27f2
mov ecx, 0x84600d8e
xor edx, edx
div ecx
sub eax, 0x88c8c0ec
or eax, 0x1b7e6cbe
add eax, 0xceb13a4e
sub eax, 0x73a7d5db
and eax, 0x9fd30559
xor eax, 0x27946b44
mov ecx, 0xcf472397
xor edx, edx
div ecx
sub eax, 0x95ee30c7
mov ecx, 0xe3a2443
xor edx, edx
div ecx
add eax, 0x296135d1
and eax, 0x8da3dbc9
add eax, 0xd73a1e6e
imul eax, eax, 0x5760ad46
imul eax, eax, 0x211f58d0
or eax, 0x24db7932
mov ecx, 0x22044a96
xor edx, edx
div ecx
sub eax, 0x7608c25f
sub eax, 0x99aa81cc
add eax, 0xdfcaab11
or eax, 0x6ef93368
mov ecx, 0xa06cb204
xor edx, edx
div ecx
and eax, 0x2fe6ccc8
or eax, 0xdb29e66
add eax, 0x42e60f6f
mov ecx, 0x7507328
xor edx, edx
div ecx
sub eax, 0x44ae559c
sub eax, 0xb17a262a
sub eax, 0xde46f2a0
add eax, 0xe7ff1fe9
sub eax, 0x15b90bc1
mov ecx, 0x4f97ea32
xor edx, edx
div ecx
imul eax, eax, 0xb8fb2f37
xor eax, 0x2588aefa
imul eax, eax, 0xe8cce040
mov ecx, 0x1370f3ce
xor edx, edx
div ecx
and eax, 0x272ce2e9
and eax, 0x68a91896
mov ecx, 0xf0c95c59
xor edx, edx
div ecx
imul eax, eax, 0x664bfde1
mov ecx, 0x6f5eb2ae
xor edx, edx
div ecx
imul eax, eax, 0x6f23c727
imul eax, eax, 0x847047a8
mov ecx, 0x99c86094
xor edx, edx
div ecx
add eax, 0x768cd2f2
or eax, 0xcdc2c96a
mov ecx, 0xd2ae4f14
xor edx, edx
div ecx
or eax, 0xa8b138bd
and eax, 0x2e6c909b
or eax, 0x535987de
mov ecx, 0x9dc11754
xor edx, edx
div ecx
or eax, 0xf0861607
mov ecx, 0x52df0a8
xor edx, edx
div ecx
imul eax, eax, 0x8667dc9
imul eax, eax, 0x26a23f82
imul eax, eax, 0xad652175
and eax, 0xee8dce54
mov ecx, 0xf80ca3d3
xor edx, edx
div ecx
mov ecx, 0x8ec2494c
xor edx, edx
div ecx
add eax, 0x525e3475
mov ecx, 0x343bdf0a
xor edx, edx
div ecx
or eax, 0xde136b49
sub eax, 0x66bda784
and eax, 0xb4b0a5fe
add eax, 0xc79b780b
sub eax, 0x479d706e
imul eax, eax, 0x6f5a58f2
or eax, 0xae18f614
imul eax, eax, 0xb40b585e
xor eax, 0xcc57e7a2
cmp eax, 0xccef1826
ja 0x10051111
mov eax, dword [0x100d4ae8]
xor edx, edx
div dword [0x100d4aec]
imul eax, eax, 0x679ac2aa
and eax, 0xcda27d8
mov ecx, 0x95d480ea
xor edx, edx
div ecx
or eax, 0x78688bbd
or eax, 0x8c3a1775
imul eax, eax, 0xb7737050
mov ecx, 0x51c1bc08
xor edx, edx
div ecx
sub eax, 0x6ba8bd2a
xor eax, 0x5514d144
imul eax, eax, 0x90696650
and eax, 0xe106fe3f
sub eax, 0xbe4e27f0
add eax, 0x22f67870
mov ecx, 0xac48392f
xor edx, edx
div ecx
add eax, 0x6df56917
sub eax, 0xf85de227
and eax, 0xc10e9250
xor eax, 0xde63a804
xor eax, 0x8691ac21
imul eax, eax, 0xebfc1d80
add eax, 0x13850108
and eax, 0xc3eb8264
add eax, 0xfb80f72b
and eax, 0xfd852827
sub eax, 0x5a27f3ca
and eax, 0x90c58283
xor eax, 0xe9112312
imul eax, eax, 0xbc5f6195
or eax, 0x71a71683
or eax, 0x12be71d1
imul eax, eax, 0x835fcc9c
mov ecx, 0x46fff8d4
xor edx, edx
div ecx
or eax, 0x5444fa6a
xor eax, 0x8e1e3ab9
add eax, 0x7a3e1358
xor eax, 0xfc50933b
imul eax, eax, 0xc1b0c9fb
and eax, 0x6be4050d
imul eax, eax, 0x1f9548f0
and eax, 0xb12497b3
sub eax, 0xcd7199b4
mov ecx, 0x41216055
xor edx, edx
div ecx
mov ecx, 0xdc0521bf
xor edx, edx
div ecx
and eax, 0x61ed2c0a
or eax, 0x67417378
or eax, 0x7b0e6fe1
xor eax, 0x7e1a0403
or eax, 0x9215fca7
mov ecx, 0xdca9f12a
xor edx, edx
div ecx
xor eax, 0x93c2432e
and eax, 0xbd7dcde1
or eax, 0x5d1a9190
sub eax, 0x7f9c9564
or eax, 0x4327559f
and eax, 0xe3215d1c
imul eax, eax, 0xc101a7f4
imul eax, eax, 0x879ea77d
xor eax, 0x5d58ab08
add eax, 0xbf611d97
sub eax, 0xab8d88fa
imul eax, eax, 0xa2ca5855
sub eax, 0x3432ef33
add eax, 0xbf2689ba
xor eax, 0xc21425d
or eax, 0xf324b342
imul eax, eax, 0x4c6802a8
add eax, 0xe89dd00a
and eax, 0x21d426eb
add eax, 0x1c0325fb
add eax, 0x883e7375
xor eax, 0x1142e66
or eax, 0x40ca6296
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp eax, 0x96cb9003
je 0x10050d31
jmp 0x10050463
mov eax, dword [0x100d4af0]
sub eax, dword [0x100d4af4]
mov ecx, 0x67b443ed
xor edx, edx
div ecx
or eax, 0xe6135cd6
mov ecx, 0x7f78b57
xor edx, edx
div ecx
or eax, 0xb471be84
add eax, 0x72a1fe5a
or eax, 0xdeedbca
xor eax, 0xa5d483a7
or eax, 0x970937ea
or eax, 0x89a10e8c
or eax, 0x5bbda1f2
add eax, 0x33224cf
mov ecx, 0xb18b3a45
xor edx, edx
div ecx
imul eax, eax, 0x4c52bd7b
add eax, 0x4444cd20
mov ecx, 0xd8f2f81d
xor edx, edx
div ecx
imul eax, eax, 0x773673db
or eax, 0xb3740f7d
mov ecx, 0xabed09f7
xor edx, edx
div ecx
add eax, 0xf8ff5d67
imul eax, eax, 0x578555dd
and eax, 0x79f8919a
or eax, 0xc1ff91ba
xor eax, 0xd7f5d6e2
or eax, 0x75821008
sub eax, 0x94b13e5c
and eax, 0x33c3e3c1
sub eax, 0x5e9ec721
or eax, 0xd131bd5
xor eax, 0x743c0e18
xor eax, 0x5e02c9af
sub eax, 0xf6ad21f8
or eax, 0xe868d32f
sub eax, 0xce7ab28f
sub eax, 0xb9533605
and eax, 0x431bed18
sub eax, 0xf0889844
xor eax, 0xa83f6fa4
imul eax, eax, 0x5e746068
add eax, 0x42b3911f
or eax, 0x32e371ec
add eax, 0x83f4341
mov ecx, 0x871c073a
xor edx, edx
div ecx
mov ecx, 0xb96c1127
xor edx, edx
div ecx
or eax, 0x33f051a6
xor eax, 0x54f2d7b3
imul eax, eax, 0x5e8023dd
mov ecx, 0x83047f7b
xor edx, edx
div ecx
or eax, 0xb6330bd
or eax, 0xef8c6be8
mov ecx, 0x8e083d1
xor edx, edx
div ecx
or eax, 0x6b221080
or eax, 0x54c1d040
mov ecx, 0x293fd5f
xor edx, edx
div ecx
and eax, 0x58ea8b35
sub eax, 0x897475f8
imul eax, eax, 0xc8b4a9c5
and eax, 0x49d20b5
add eax, 0xed69323b
mov ecx, 0xfc9751c6
xor edx, edx
div ecx
imul eax, eax, 0xc7edbf6d
and eax, 0xa9115f96
and eax, 0x19a0a05
add eax, 0x24830ad2
add eax, 0x2b27eaf7
mov ecx, 0x40afd9b5
xor edx, edx
div ecx
and eax, 0x8122573e
mov ecx, 0x6ff11b5a
xor edx, edx
div ecx
sub eax, 0xae6680d0
add eax, 0xb5f362a1
or eax, 0xc18b8681
sub eax, 0x8b6555a9
or eax, 0xe43b1e67
cmp eax, 0xb57657b
jbe 0x1005111f
mov eax, 5
mov dword [ebp - 0x28], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 9
call fcn.1003dbd0
mov ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
cmp eax, 0xc40bc056
jae 0x1005111f
mov eax, dword [ebp - 0x24]
add esp, 0x2c
pop ebx
pop ebp
ret
jmp 0x1005060f
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.10006800
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov dl, byte [eax + ecx]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov byte [eax + ecx], dl
jmp 0x10050984
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
jmp 0x10050d31
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 9
call fcn.1003dbd0
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
jmp 0x100510a0