Function at 0x100dc0e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x10145c24]
xor eax, dword [0x10145c28]
xor eax, 0x8d8f5237
or eax, 0xc56a423
or eax, 0x1f7a56
and eax, 0x28356675
or eax, 0xc51fdd8b
xor eax, 0x82e89af8
imul eax, eax, 0x9c0e6c4c
xor eax, 0x492d5053
sub eax, 0x281727ed
and eax, 0xf651cdd7
imul eax, eax, 0x96221844
mov ecx, 0xe2d51bc5
xor edx, edx
div ecx
xor eax, 0x59f9f299
or eax, 0x6ff4bb12
add eax, 0x79f7d2c1
or eax, 0xb3b18ae7
xor eax, 0x3163f6a5
imul eax, eax, 0xe4de4b5d
mov ecx, 0xa43b1903
xor edx, edx
div ecx
add eax, 0x911a4866
cmp eax, 0xbf54c79f
jae 0x100dc89e
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
xor eax, eax
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.100d2a60
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0xc2279b6a
jae 0x100dc176
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100dc524
jmp 0x100dc1cc
mov eax, dword [0x10145c34]
xor eax, dword [0x10145c38]
imul eax, eax, 0x8a07a966
xor eax, 0xf5b318a8
sub eax, 0xc84ea20b
add eax, 0x55d53cdd
add eax, 0x2e7ff94b
xor eax, 0xf7162175
add eax, 0x380af7e9
add eax, 0x826eeea9
sub eax, 0x379569ef
xor eax, 0x79794f46
sub eax, 0x77af2fe9
add eax, 0x624554c
and eax, 0x906ee0e0
and eax, 0x13ff337f
imul eax, eax, 0x8fa1fbc7
and eax, 0x3193da3b
sub eax, 0x5e0de205
or eax, 0x158f640
or eax, 0x24d053c6
and eax, 0x25cf0eb9
cmp eax, 0x3efdd671
je 0x100dc8bf
mov eax, dword [0x10145c3c]
and eax, dword [0x10145c40]
mov ecx, 0x89accf47
xor edx, edx
div ecx
mov ecx, 0x16abe721
xor edx, edx
div ecx
xor eax, 0xdf99b56a
or eax, 0x4ad99c49
add eax, 0xeef1623e
or eax, 0x3e7edd8c
xor eax, 0x4a6395d1
or eax, 0x8f39ad65
imul eax, eax, 0x9cc84384
imul eax, eax, 0x3d891bfe
sub eax, 0x202adfd
xor eax, 0x34148a0d
or eax, 0x1dd7146c
sub eax, 0x944dfd1a
or eax, 0x727d15eb
and eax, 0xa89889c9
mov ecx, 0xcb5cb85c
xor edx, edx
div ecx
imul eax, eax, 0x642df966
and eax, 0x21aa7d16
or eax, 0x74b99ca
cmp eax, 0x269feabf
ja 0x100dc248
mov eax, dword [0x10145c44]
sub eax, dword [0x10145c48]
or eax, 0x3c73fd35
mov ecx, 0x87d5c916
xor edx, edx
div ecx
mov ecx, 0xa439efae
xor edx, edx
div ecx
or eax, 0x93cb4872
sub eax, 0x75505be4
sub eax, 0xa8f21518
add eax, 0x5b26536f
and eax, 0xedb94dfb
sub eax, 0x704d6b
or eax, 0x81c9e252
xor eax, 0x8ebb4ec8
mov ecx, 0x9a43af72
xor edx, edx
div ecx
add eax, 0xd63bcbdc
mov ecx, 0xb7b11c49
xor edx, edx
div ecx
xor eax, 0x5282de49
and eax, 0x66c96d3
and eax, 0x933565e2
add eax, 0xc8d37530
mov ecx, 0x2cccf57f
xor edx, edx
div ecx
add eax, 0x3862b381
cmp eax, 0x28f52bb3
je 0x100dc75a
mov eax, dword [0x10145c4c]
add eax, dword [0x10145c50]
mov ecx, 0xf3c5edc
xor edx, edx
div ecx
xor eax, 0x4cac7042
or eax, 0xe3c026a1
sub eax, 0xb8b42764
xor eax, 0x84001426
and eax, 0x2f5655a
mov ecx, 0xe4a37666
xor edx, edx
div ecx
xor eax, 0x98ec3a52
add eax, 0xbea6061d
add eax, 0xd6a5b210
and eax, 0x155d0a16
sub eax, 0xaee443e9
mov ecx, 0xcdf4677e
xor edx, edx
div ecx
or eax, 0x4783d395
imul eax, eax, 0xbb3eb36f
mov ecx, 0xeb2ae20e
xor edx, edx
div ecx
add eax, 0xa0b1b963
sub eax, 0xb32a052b
mov ecx, 0xe122b534
xor edx, edx
div ecx
or eax, 0x8fab4b89
cmp eax, 0x28b63fde
jbe 0x100dc8c4
mov eax, dword [0x10145c54]
imul eax, dword [0x10145c58]
or eax, 0xa44c2e97
and eax, 0x4769e55d
xor eax, 0xafd7ecf3
xor eax, 0xac8b1985
and eax, 0x60a702e9
and eax, 0x7bc356c2
and eax, 0x12049f02
xor eax, 0xfbb264cc
sub eax, 0xded6086e
and eax, 0x98a9186e
sub eax, 0xa9bbc696
mov ecx, 0xf4efb868
xor edx, edx
div ecx
imul eax, eax, 0x70a6fa54
or eax, 0xe001a77b
xor eax, 0x72038c7c
mov ecx, 0xeaa5564c
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
xor ecx, 0xa938c6db
or ecx, 0x7462e41
and ecx, 0xcb4defd2
or ecx, 0x83708158
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, 0x27c26691
jbe 0x100dc8c4
mov eax, dword [0x10145c5c]
sub eax, dword [0x10145c60]
mov ecx, 0xa6df8514
xor edx, edx
div ecx
add eax, 0x29b02832
xor eax, 0xde91323f
imul eax, eax, 0x2f70c068
sub eax, 0x80728012
add eax, 0x9fb9ca0c
sub eax, 0x69e87814
mov ecx, 0x25794583
xor edx, edx
div ecx
xor eax, 0xab962e3c
xor eax, 0x97aa859c
and eax, 0xe88dc69a
sub eax, 0x87d1aa6
sub eax, 0x79da7d7c
mov ecx, 0xfecfe0d0
xor edx, edx
div ecx
or eax, 0x9a7a2ab8
or eax, 0x4c26f7c3
sub eax, 0x47364c02
mov ecx, 0xa98977be
xor edx, edx
div ecx
mov ecx, 0x6b75d3cb
xor edx, edx
div ecx
imul eax, eax, 0x38f36189
cmp eax, 0x25ccfd27
je 0x100dc75a
jmp 0x100dc524
mov eax, dword [0x10145c64]
and eax, dword [str.Yg_x]
mov ecx, 0x20cdfbe1
xor edx, edx
div ecx
and eax, 0x5f80ba8c
or eax, 0x23d1d7c2
xor eax, 0xb78691b
and eax, 0x3a5ad98b
xor eax, 0x8e74b625
mov ecx, 0x562d0fb4
xor edx, edx
div ecx
imul eax, eax, 0x28cd9d47
xor eax, 0x512e612b
sub eax, 0x9b5a8500
mov ecx, 0x154897b7
xor edx, edx
div ecx
xor eax, 0xbf669033
and eax, 0x8d64794f
imul eax, eax, 0xe61e27b8
sub eax, 0x6eeb7d35
add eax, 0xa7e255f7
xor eax, 0x66f61966
add eax, 0xc3643003
add eax, 0xf72ad22
imul eax, eax, 0x98f5dfc8
cmp eax, 0x67ae9d83
jae 0x100dc899
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x10145c6c]
imul eax, dword [0x10145c70]
xor eax, 0x1e83bb48
mov esi, 0xfa8e305d
xor edx, edx
div esi
xor eax, 0xe8c2d027
add eax, 0x6bd7a7e8
xor eax, 0xbd282a31
or eax, 0xc1753651
imul eax, eax, 0x513d58c9
add eax, 0x2e0f0244
sub eax, 0xe6c198ba
and eax, 0xb1a5f9ba
or eax, 0xf5808315
or eax, 0xe7c597c9
and eax, 0x230279ed
mov esi, 0xd43e17fe
xor edx, edx
div esi
imul eax, eax, 0x4d7083db
sub eax, 0x60db3da3
add eax, 0xed9ea20f
or eax, 0xb5787dd4
and eax, 0xf9f8cfc1
or eax, 0x1466916d
mov ecx, dword [ecx]
mov dword [ebp - 0x2c], ecx
cmp eax, 0x5296f415
jb 0x100dc5ad
mov eax, dword [str.U_f]
imul eax, dword [0x10145c78]
imul eax, eax, 0x91c15d8c
sub eax, 0x37246eaf
imul eax, eax, 0x17e97e20
or eax, 0xa897596f
add eax, 0x814e4526
and eax, 0xa86b2e19
sub eax, 0xfc50135a
or eax, 0x5a1d9e3f
or eax, 0xeab7845f
mov ecx, 0xacdeea8a
xor edx, edx
div ecx
and eax, 0x896ed6a3
xor eax, 0x50026131
add eax, 0xa00c8ae7
add eax, 0xb0aae0b0
or eax, 0x3c56059
mov ecx, 0xb6da6ece
xor edx, edx
div ecx
or eax, 0x83c663e
add eax, 0x3ffef21d
add eax, 0xa9cabaa6
xor eax, 0x9db889df
cmp eax, 0x6682a1d9
jbe 0x100dc8da
mov eax, dword [0x10145c7c]
xor edx, edx
div dword [0x10145c80]
add eax, 0x38592b6b
mov ecx, 0x591ff509
xor edx, edx
div ecx
add eax, 0x357e6b76
and eax, 0x5b7bd06c
sub eax, 0x7a17dbc0
and eax, 0x9552d79a
mov ecx, 0x3898a297
xor edx, edx
div ecx
add eax, 0x2e5ce65e
mov ecx, 0xcde5f07d
xor edx, edx
div ecx
mov ecx, 0x86681212
xor edx, edx
div ecx
imul eax, eax, 0x2a0eb10c
imul eax, eax, 0x1508e8f3
imul eax, eax, 0xb1c15445
add eax, 0xa182c0cd
add eax, 0xc5e11b73
and eax, 0xc6d0453
add eax, 0xe84003e5
add eax, 0xa0418a9e
sub eax, 0xfd4258ef
sub eax, 0x1392e503
cmp eax, 0x8b879c09
je 0x100dc6bf
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x10145c84]
xor edx, edx
div dword [0x10145c88]
and eax, 0xaa3781c1
imul eax, eax, 0xd06c8974
or eax, 0xaa7fc44b
imul eax, eax, 0x9478c30f
mov ecx, 0xa7478779
xor edx, edx
div ecx
sub eax, 0xe187febb
mov ecx, 0x278aa811
xor edx, edx
div ecx
xor eax, 0x3323ddaa
add eax, 0xab5c0847
xor eax, 0x88ed35e3
imul eax, eax, 0xd0474534
add eax, 0x1a9f3469
sub eax, 0xdfafd1e8
and eax, 0xda80364
or eax, 0xdfffb000
sub eax, 0x324d06c9
mov ecx, 0x598a3708
xor edx, edx
div ecx
mov ecx, 0x125e8507
xor edx, edx
div ecx
or eax, 0xe220712
and eax, 0xf2b92957
cmp eax, 0x8121cac7
je 0x100dc8df
mov eax, dword [0x10145c8c]
imul eax, dword [0x10145c90]
mov ecx, 0x1280ce3d
xor edx, edx
div ecx
xor eax, 0xbefc3d58
or eax, 0x7545f03d
xor eax, 0x34fa9ae0
mov ecx, 0x65db774f
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
imul ecx, ecx, 0xa7fa15da
imul ecx, ecx, 0x8a4704
sub ecx, 0xafce1468
or ecx, 0x260febf8
imul ecx, ecx, 0xc25a46e7
sub ecx, 0x47d36fca
add ecx, 0x7f76732e
xor ecx, 0xcbf38372
sub ecx, 0x4e016b61
sub ecx, 0xb5c90044
imul ecx, ecx, 0x54cafcca
and ecx, 0x3d816b23
sub ecx, 0x2012d9a7
and ecx, 0xd12b8071
sub ecx, 0x1c017d23
mov dword [ebp - 0x30], ecx
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
mov eax, dword [ebp - 0x30]
add esp, 4
cmp eax, 0xedae6e0c
jae 0x100dc8df
jmp 0x100dc35f
jmp 0x100dc5ad
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.100d2a60
jmp 0x100dc176
jmp 0x100dc248
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
add esp, 4
jmp 0x100dc3ee
jmp 0x100dc6bf
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.100e32f2
add esp, 4
jmp 0x100dc7e9