Function at 0x100d5740
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x2c
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x10145684]
and eax, dword [0x10145688]
imul eax, eax, 0x8b556e7b
or eax, 0xc0fbbd92
add eax, 0x7656c991
imul eax, eax, 0xdcab3818
sub eax, 0x89ad998d
or eax, 0x99028349
and eax, 0x832ff1c4
and eax, 0x2648b1d7
mov ecx, 0x85a43e21
xor edx, edx
div ecx
and eax, 0x3a42f124
and eax, 0x4405b7ba
or eax, 0x5af855ef
or eax, 0x776bacce
or eax, 0x1abe07c5
imul eax, eax, 0x27ca8729
imul eax, eax, 0xe916f6f7
or eax, 0x514906d9
add eax, 0x2801922d
mov ecx, 0x550456d7
xor edx, edx
div ecx
and eax, 0x2bc6f0b0
cmp eax, 0x86ae5a54
ja 0x100d60a1
mov eax, dword [0x1014568c]
xor edx, edx
div dword [0x10145690]
sub eax, 0x2e5689e
sub eax, 0x765a1ae7
mov ecx, 0x7f26fa
xor edx, edx
div ecx
xor eax, 0xfa42bfad
xor eax, 0xd5864d9b
or eax, 0x8b103eda
add eax, 0xb0feaf17
or eax, 0xff16a5dd
imul eax, eax, 0x67699f9e
imul eax, eax, 0xf7d1ee6
add eax, 0x28ec6ce6
or eax, 0xa2b5b9de
sub eax, 0x67acd883
sub eax, 0xdb140ecd
and eax, 0x2a18ed3e
add eax, 0xdddca797
mov ecx, 0x4cd5e2b7
xor edx, edx
div ecx
or eax, 0x820d93c8
and eax, 0xc1a4e9a5
imul eax, eax, 0xeeeaad1a
cmp eax, 0x308e38fc
je 0x100d60a1
mov eax, dword [0x10145694]
and eax, dword [0x10145698]
or eax, 0xe96363a5
add eax, 0xb47230cc
imul eax, eax, 0xb406b23
or eax, 0x79d33b94
mov ecx, 0x86430d84
xor edx, edx
div ecx
mov ecx, 0x1b35d1b1
xor edx, edx
div ecx
and eax, 0x157718a1
imul eax, eax, 0xf2a32753
and eax, 0x2b3cac0f
xor eax, 0xd7bb8522
imul eax, eax, 0x686be65d
or eax, 0x4aadf8b4
mov ecx, 0xadc51687
xor edx, edx
div ecx
xor eax, 0x3bff8ec7
add eax, 0xf0eb2b40
and eax, 0xfd1988a
sub eax, 0x6d5b3bd6
add eax, 0x7f17cc20
or eax, 0x5cabfbab
or eax, 0xce3a7a65
cmp eax, 0x25d741bf
je 0x100d5d99
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x19463b12
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
mov dword [edx], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.100d1df0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0xa074662a
ja 0x100d5d99
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100d5b7d
jmp 0x100d5940
mov eax, dword [0x101456a4]
xor eax, dword [0x101456a8]
sub eax, 0x1a2970c1
or eax, 0xa4e5ea22
mov ecx, 0xac1e2c76
xor edx, edx
div ecx
and eax, 0x7e8e8017
sub eax, 0xbe942429
or eax, 0xf10daba
xor eax, 0x51928710
xor eax, 0xb8f3a012
and eax, 0xdb3b6ad3
xor eax, 0xde9ca41a
add eax, 0x6fcfa3a0
add eax, 0xe34c1eb1
or eax, 0x1b32214
mov ecx, 0x52e417ef
xor edx, edx
div ecx
or eax, 0x9346bf7f
or eax, 0x1f14d6d1
xor eax, 0x69894b79
mov ecx, 0x8a224355
xor edx, edx
div ecx
or eax, 0x6d3a3e66
or eax, 0xc46de11e
cmp eax, 0x29ff1a46
jb 0x100d60a6
mov eax, dword [0x101456ac]
add eax, dword [0x101456b0]
add eax, 0xc7b46757
add eax, 0x8cc5e46a
sub eax, 0x106a3844
and eax, 0x969a3e29
mov ecx, 0x2dabc75
xor edx, edx
div ecx
and eax, 0xcadee96e
or eax, 0x34f6ba01
and eax, 0xf5a8dd7b
and eax, 0x59ec72e5
sub eax, 0x4750b028
xor eax, 0x2270d3b9
xor eax, 0x6a43175a
sub eax, 0x9878e6e0
add eax, 0x4584c882
mov ecx, 0x4acd1de0
xor edx, edx
div ecx
or eax, 0xa121baa1
and eax, 0x9e9f58aa
imul eax, eax, 0x9a86711d
sub eax, 0xf294f3ea
mov ecx, 0xa76dd7f5
xor edx, edx
div ecx
cmp eax, 0xce6d40c3
ja 0x100d60a6
mov eax, dword [str.lpO_a5]
imul eax, dword [0x101456b8]
xor eax, 0xbd48d069
add eax, 0xf74729a9
xor eax, 0xfcee4908
or eax, 0x975aa49
xor eax, 0xe7fee509
add eax, 0xeb925179
add eax, 0xd390623c
add eax, 0xd2827b5f
xor eax, 0x620b8bc7
and eax, 0x5d1258fe
imul eax, eax, 0x5c596004
add eax, 0x7e36607f
xor eax, 0xd3bf816b
sub eax, 0xcfb2e87d
or eax, 0xbb23c070
mov ecx, 0x2d02f4ec
xor edx, edx
div ecx
imul eax, eax, 0x4f108230
imul eax, eax, 0xae2386f
mov ecx, 0x6a87c283
xor edx, edx
div ecx
imul eax, eax, 0x901e59c1
cmp eax, 0x3a11a763
je 0x100d5e53
mov eax, dword [0x101456bc]
xor eax, dword [0x101456c0]
mov ecx, 0x685cdc9f
xor edx, edx
div ecx
add eax, 0xf7463d3d
mov ecx, 0x4268819b
xor edx, edx
div ecx
and eax, 0x808c65b0
and eax, 0x8d392ec8
and eax, 0x6a040d90
imul eax, eax, 0xb5fa2a3a
xor eax, 0x5b9b6518
xor eax, 0x9ca1d704
or eax, 0x7b7d4f15
sub eax, 0x60896df6
imul eax, eax, 0xc94fe04f
and eax, 0x3b020959
and eax, 0x5dbe6964
and eax, 0xff28cf5e
sub eax, 0xc8d1dd8b
mov ecx, 0x9cc7fe27
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0xe7f00791
sub ecx, 0xe3d1e258
sub ecx, 0x73b07d1b
mov dword [ebp - 0x28], ecx
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
mov eax, dword [ebp - 0x28]
add esp, 4
cmp eax, 0xb685030c
je 0x100d5e53
jmp 0x100d5b7d
mov eax, dword [0x101456c4]
or eax, dword [0x101456c8]
xor eax, 0x2ff99d59
add eax, 0x9a3441a6
or eax, 0xfce73132
sub eax, 0xf1659bb5
and eax, 0xfb22d1b1
and eax, 0x331d03f7
mov ecx, 0x4ed6c8de
xor edx, edx
div ecx
or eax, 0x7075c919
sub eax, 0x8f6814ff
add eax, 0x2ade453f
and eax, 0xf133ce71
mov ecx, 0x57f73b57
xor edx, edx
div ecx
mov ecx, 0xf1d559ae
xor edx, edx
div ecx
xor eax, 0x585e4c48
xor eax, 0xe38e6318
sub eax, 0x2b3dbbba
or eax, 0x2cf4aaf2
sub eax, 0xede76794
mov ecx, 0x3be8850a
xor edx, edx
div ecx
xor eax, 0x81ed3641
cmp eax, 0xa8f0db9e
je 0x100d5f8d
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x101456cc]
add eax, dword [0x101456d0]
and eax, 0xaa956bd6
or eax, 0xb8a79151
sub eax, 0xf20a15b4
or eax, 0x19d29ae2
sub eax, 0xe927d952
and eax, 0xfce9b668
sub eax, 0xf789af8d
imul eax, eax, 0xd7f76fea
sub eax, 0x24f6906a
or eax, 0x439e5e1b
and eax, 0x98c06dba
and eax, 0xc3231315
xor eax, 0x20928c66
or eax, 0xae6053ca
and eax, 0xb2ec8fd2
xor eax, 0x60c01702
sub eax, 0x97e77c1b
sub eax, 0xf94307bf
sub eax, 0x2732d3a3
or eax, 0x74534246
mov ecx, dword [ecx]
mov dword [ebp - 0x2c], ecx
cmp eax, 0x35768d1c
je 0x100d5f8d
mov eax, dword [0x101456d4]
add eax, dword [0x101456d8]
sub eax, 0xc04e805c
mov ecx, 0xa6d7c6dd
xor edx, edx
div ecx
and eax, 0x72e62adb
or eax, 0x213a64f
or eax, 0xae73d823
and eax, 0x917e2569
imul eax, eax, 0x388a390a
xor eax, 0x5ed6ebab
xor eax, 0x3eb4218e
sub eax, 0x4005963e
imul eax, eax, 0xf758f8a2
or eax, 0x60d6f30d
xor eax, 0x1ff60e8c
sub eax, 0xb3d778cc
imul eax, eax, 0x7f6fd72
or eax, 0xb6c44631
imul eax, eax, 0xd4e9ed36
add eax, 0x6c470a23
xor eax, 0x82885a8b
mov ecx, 0x17f2b67b
xor edx, edx
div ecx
cmp eax, 0xe6aaa4da
jae 0x100d60ab
mov eax, dword [0x101456dc]
and eax, dword [0x101456e0]
sub eax, 0x3119a429
xor eax, 0xf2e235eb
sub eax, 0x312fc2bb
add eax, 0xbd6c8eae
imul eax, eax, 0x1886039a
or eax, 0xa951d107
or eax, 0xb0293eac
xor eax, 0x706e5ecd
xor eax, 0xa5d62141
sub eax, 0x6aad9c1c
xor eax, 0xbf094631
add eax, 0x4536a2f2
xor eax, 0x12db663
add eax, 0xf7294944
imul eax, eax, 0x70ac656a
xor eax, 0xa5ac7a18
and eax, 0xb82894bc
imul eax, eax, 0xdc30748f
add eax, 0x2c99030a
sub eax, 0x3ff5faf3
cmp eax, 0x7bb9a673
jb 0x100d5d10
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x101456e4]
xor eax, dword [0x101456e8]
sub eax, 0x7d28f9b8
xor eax, 0xb041f7a9
sub eax, 0x2d50c60d
xor eax, 0xdd19d7dd
imul eax, eax, 0xb47e79b3
or eax, 0xa83f8f9c
or eax, 0x62db7b3c
add eax, 0x5728cd00
xor eax, 0x4e25e251
sub eax, 0xeca20aa
or eax, 0x77ad46f9
add eax, 0xb239310a
imul eax, eax, 0x927d905c
mov ecx, 0x9303984
xor edx, edx
div ecx
imul eax, eax, 0x8c2a1555
and eax, 0xb2ca00ad
imul eax, eax, 0x63f78b
xor eax, 0x4e0959b8
or eax, 0xbc5f0733
imul eax, eax, 0xf9a5d68f
cmp eax, 0xeade9cdc
ja 0x100d60b0
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 2
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100d1df0
mov eax, dword [ebp - 0x30]
cmp eax, 0x89b55d70
jae 0x100d60b0
jmp 0x100d58e7
mov eax, dword [0x101456f4]
or eax, dword [0x101456f8]
xor eax, 0xf997c795
imul eax, eax, 0xc5304d8b
xor eax, 0x6893f1e1
add eax, 0x64bb5ba9
imul eax, eax, 0x2ad34846
add eax, 0xd5af01b2
or eax, 0xca5e79c7
add eax, 0x25010b08
imul eax, eax, 0x43fa45a0
and eax, 0xb0da7e36
imul eax, eax, 0xc1fd6009
mov ecx, 0xfaf5c377
xor edx, edx
div ecx
or eax, 0x2babf7f2
add eax, 0x2aa04666
mov ecx, 0xf239b509
xor edx, edx
div ecx
and eax, 0x3581930a
add eax, 0x91ba28cd
and eax, 0x8cb1b67
mov ecx, 0xb88fb9c6
xor edx, edx
div ecx
or eax, 0xebdc5fad
cmp eax, 0xc50e6532
jb 0x100d60d1
mov eax, dword [0x101456fc]
or eax, dword [0x10145700]
and eax, 0x50aa325a
imul eax, eax, 0xc13c274a
imul eax, eax, 0x6d0acd5
mov ecx, 0x905f5263
xor edx, edx
div ecx
mov ecx, 0x33cb74ab
xor edx, edx
div ecx
add eax, 0x73585eda
xor eax, 0x70ddae3a
and eax, 0xd4868b40
sub eax, 0x86dccf4b
mov ecx, 0x49a78d2c
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0xe39e0b56
or ecx, 0x92cae3d1
or ecx, 0x876723c8
add ecx, 0xba0a3f53
add ecx, 0x1966cbe9
sub ecx, 0x64e4948f
add ecx, 0xdebdc1d5
add ecx, 0x221599b7
imul ecx, ecx, 0x485afefa
add ecx, 0x9f0749ec
mov dword [ebp - 0x34], ecx
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
mov eax, dword [ebp - 0x34]
add esp, 4
cmp eax, 0x87bca147
je 0x100d60d1
jmp 0x100d5ad4
mov eax, dword [0x10145704]
xor edx, edx
div dword [0x10145708]
and eax, 0x24d93573
xor eax, 0xd3d17061
mov ecx, 0xafca6853
xor edx, edx
div ecx
mov ecx, 0x71e4ca0e
xor edx, edx
div ecx
mov ecx, 0x2da38811
xor edx, edx
div ecx
add eax, 0xfa3b1cfa
sub eax, 0x3ef63c23
sub eax, 0xfae4f5a9
mov ecx, 0x7661b266
xor edx, edx
div ecx
sub eax, 0xf27268ea
imul eax, eax, 0xef1eb526
sub eax, 0x86879c4b
and eax, 0x725500c1
imul eax, eax, 0xb5df1821
or eax, 0x8f2d5225
and eax, 0x2bd89275
sub eax, 0x5f4a06b4
and eax, 0x8395a832
sub eax, 0x12ce0ec9
or eax, 0x1498d161
cmp eax, 0xb9c16b15
je 0x100d60e7
mov eax, dword [0x1014570c]
add eax, dword [0x10145710]
imul eax, eax, 0xf3277c3a
imul eax, eax, 0x1972a9f6
or eax, 0xe9f2180c
imul eax, eax, 0x59faece0
sub eax, 0x9213f829
mov ecx, 0xcf56ba02
xor edx, edx
div ecx
or eax, 0x3a348400
or eax, 0xc8d6e8e1
and eax, 0x292f8f5
xor eax, 0xba16ebda
or eax, 0x547c2bdb
sub eax, 0x5318d6e6
or eax, 0x68187899
sub eax, 0xeadf9538
sub eax, 0x8c262884
add eax, 0x7d1a6d0e
and eax, 0x77cba55
or eax, 0x734e442a
add eax, 0x38294387
or eax, 0x656a2212
cmp eax, 0x59063c6f
jbe 0x100d601b
jmp 0x100d5c07
jmp 0x100d57d7
jmp 0x100d59c6
jmp 0x100d5d10
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100d1df0
jmp 0x100d5e1c
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
add esp, 4
jmp 0x100d5edd
jmp 0x100d601b