Function at 0x10049360
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 4], ecx
mov eax, dword [0x10147a48]
imul eax, dword [0x10147a4c]
and eax, 0x7b16407b
mov ecx, 0x5dd8a3a2
xor edx, edx
div ecx
add eax, 0x12beec5d
xor eax, 0x46622c2d
or eax, 0xab35eadf
or eax, 0xb19f6bb5
or eax, 0xd7c6b59a
or eax, 0x11efb74c
mov ecx, 0x4636ffd2
xor edx, edx
div ecx
add eax, 0x1804b18d
sub eax, 0x9a2fc34b
imul eax, eax, 0xf15cbbda
imul eax, eax, 0x75f29172
sub eax, 0x7897f099
sub eax, 0x774aec17
sub eax, 0xeab4b2f7
or eax, 0x689a5bf
xor eax, 0xb36d2077
mov ecx, 0xf8901467
xor edx, edx
div ecx
or eax, 0x14227d02
xor eax, 0x967f9f2f
sub eax, 0x87a2e9b6
mov ecx, 0x2867e23
xor edx, edx
div ecx
mov ecx, 0xd81b807c
xor edx, edx
div ecx
imul eax, eax, 0xc50711cf
mov ecx, 0xf3cdd29f
xor edx, edx
div ecx
and eax, 0x34d35876
add eax, 0x6ff1bada
xor eax, 0xcccd1c39
sub eax, 0x8ea114f2
and eax, 0xac83c8a9
xor eax, 0xa28c797f
or eax, 0x7b7a9050
cmp eax, 0x858509d7
jbe 0x10049d08
mov edx, dword [ebp - 4]
xor eax, eax
push eax
mov ecx, esp
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp dword [ecx + 0x4c], 0
setne cl
mov byte [ebp - 5], cl
cmp eax, 0xc3b54ff3
je 0x10049d08
mov al, byte [ebp - 5]
test al, 1
jne 0x10049474
jmp 0x1004964f
mov eax, dword [0x10147a58]
add eax, dword [0x10147a5c]
imul eax, eax, 0x81698afb
sub eax, 0x3de871ef
sub eax, 0xe638abb8
mov ecx, 0x4fec25b9
xor edx, edx
div ecx
imul eax, eax, 0x32279fea
mov ecx, 0x8bb26fe0
xor edx, edx
div ecx
imul eax, eax, 0x92e49f8a
sub eax, 0xe0c23bfb
xor eax, 0x30500398
mov ecx, 0x2e07ee0c
xor edx, edx
div ecx
xor eax, 0x2b373454
or eax, 0xabe3a3cd
and eax, 0x311cda5
sub eax, 0x44b73e61
sub eax, 0x2dcb246
imul eax, eax, 0xe6f4526d
add eax, 0xaea6fdeb
sub eax, 0x6d646542
or eax, 0x5d9bc301
imul eax, eax, 0xcd37693b
mov ecx, 0xdd887072
xor edx, edx
div ecx
mov ecx, 0x22711d6d
xor edx, edx
div ecx
xor eax, 0xa43bb20a
xor eax, 0x8171745e
and eax, 0x8a75e33e
imul eax, eax, 0xb8d1d846
or eax, 0xb7838646
imul eax, eax, 0x1f240e60
add eax, 0x54841ac5
imul eax, eax, 0x2123af5d
imul eax, eax, 0x2c9fe674
mov ecx, 0xab0155d0
xor edx, edx
div ecx
and eax, 0xf9d9b7ad
cmp eax, 0xf76cfa2f
je 0x10049d15
mov eax, dword [0x10147a60]
and eax, dword [0x10147a64]
xor eax, 0xdb30b1f6
sub eax, 0xf81d2270
xor eax, 0xf37be66f
or eax, 0x4917f1e2
mov ecx, 0x909e5786
xor edx, edx
div ecx
imul eax, eax, 0x57cdeeff
mov ecx, 0xe4c73ebe
xor edx, edx
div ecx
imul eax, eax, 0xc6488833
sub eax, 0x14e059b7
and eax, 0x776bcfa2
imul eax, eax, 0x315054b6
imul eax, eax, 0x2ca37cd9
or eax, 0x78e9a65b
mov ecx, 0xa16a292a
xor edx, edx
div ecx
mov ecx, 0x76d6b1a4
xor edx, edx
div ecx
and eax, 0x901f0054
or eax, 0x5ab79038
and eax, 0x3dcde938
imul eax, eax, 0x65ad2e56
mov ecx, 0x2ba639fa
xor edx, edx
div ecx
xor eax, 0x655f0688
mov ecx, 0x4eba355f
xor edx, edx
div ecx
or eax, 0x420a2855
add eax, 0x51c30bbc
or eax, 0x9306f8e4
and eax, 0x2989c4a8
sub eax, 0x8a520070
sub eax, 0x97c25c5c
or eax, 0xc3b833ae
and eax, 0xaa846cf2
mov ecx, 0x85b2552a
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0xc]
xor ecx, 0xf9049ab8
imul ecx, ecx, 0xa8fa48ba
mov dword [ebp - 0x10], ecx
mov eax, dword [eax + 0x4c]
sub esp, 4
mov dword [esp], eax
call fcn.10121d38
mov eax, dword [ebp - 0x10]
add esp, 4
cmp eax, 0x958915d1
je 0x10049550
jmp 0x1004964f
mov eax, dword [0x10147a68]
xor eax, dword [0x10147a6c]
imul eax, eax, 0xf3ac7388
mov ecx, 0xaaecac26
xor edx, edx
div ecx
mov ecx, 0x1ad89d1b
xor edx, edx
div ecx
mov ecx, 0xf8055f3
xor edx, edx
div ecx
mov ecx, 0x9ad630c1
xor edx, edx
div ecx
imul eax, eax, 0x16e6f50f
or eax, 0x46a2f580
add eax, 0x19b1e118
and eax, 0xc15d28db
xor eax, 0x8d45a48e
sub eax, 0x343470fd
imul eax, eax, 0x7263816b
or eax, 0xbd5e6984
add eax, 0xaaad155c
and eax, 0x35f981b8
mov ecx, 0x922dba63
xor edx, edx
div ecx
and eax, 0x3232881c
xor eax, 0x682bda8f
xor eax, 0x141a6aca
add eax, 0x9739204f
xor eax, 0xc3b28b68
xor eax, 0xa50756e9
mov ecx, 0xdd440fa8
xor edx, edx
div ecx
add eax, 0xf5d0a5df
imul eax, eax, 0x8dd5f3e
and eax, 0x8669121a
xor eax, 0x7400c216
and eax, 0x58a42349
imul eax, eax, 0xd849cad0
sub eax, 0x429d3205
and eax, 0xce92ab7f
imul eax, eax, 0x8a7cd585
and eax, 0x692474eb
cmp eax, 0xe9d11328
jae 0x10049d2e
mov eax, dword [0x10147a70]
xor edx, edx
div dword [0x10147a74]
mov ecx, 0xec771cbb
xor edx, edx
div ecx
imul eax, eax, 0xaa2b143b
imul eax, eax, 0xa7bbb474
and eax, 0xb10f346d
mov ecx, 0xe488208
xor edx, edx
div ecx
and eax, 0x5618aca5
and eax, 0x84c01133
imul eax, eax, 0x482fed93
add eax, 0xefbc729f
mov ecx, 0x2d5c122b
xor edx, edx
div ecx
and eax, 0x9430de24
sub eax, 0x43a86a55
add eax, 0x5630154b
mov ecx, 0x6b6b47c0
xor edx, edx
div ecx
xor eax, 0xce65278a
imul eax, eax, 0x6ad7c7a
sub eax, 0xe3b7744f
imul eax, eax, 0xdf37b9a7
sub eax, 0x173477b7
xor eax, 0xed58ef8c
xor eax, 0xe1c852c2
sub eax, 0x4a92d9a6
mov ecx, 0x3952491c
xor edx, edx
div ecx
xor eax, 0xc7873c84
mov ecx, 0x2cbc1c85
xor edx, edx
div ecx
add eax, 0x641ba35d
or eax, 0x84ba29ba
mov ecx, 0xaf25c1f
xor edx, edx
div ecx
sub eax, 0xa358ca48
sub eax, 0x14be3d8f
and eax, 0xdedb8d9d
or eax, 0x9339e3cb
mov ecx, 0x49fd3e04
xor edx, edx
div ecx
cmp eax, 0x6bbbaacf
jae 0x10049728
mov eax, dword [0x10147a78]
xor eax, dword [0x10147a7c]
xor eax, 0xe72df0d6
and eax, 0xbc1241ee
add eax, 0x9eb3ae87
xor eax, 0xd53a719b
and eax, 0x4281a992
add eax, 0xb1c8a5d3
sub eax, 0x145bed5f
or eax, 0x3af7bd1d
add eax, 0x606e654
or eax, 0x98d98614
sub eax, 0xc7b83838
and eax, 0x298ca7d
imul eax, eax, 0x6c5021ca
imul eax, eax, 0x4172289d
imul eax, eax, 0x4e3f92a9
and eax, 0x7a550479
xor eax, 0xca6f80c5
imul eax, eax, 0xa8c20789
sub eax, 0x65fc626b
add eax, 0x9066bcf1
and eax, 0xd1a87ed4
xor eax, 0xd250b7af
mov ecx, 0x7a40a74d
xor edx, edx
div ecx
mov ecx, 0xed14b597
xor edx, edx
div ecx
or eax, 0x974b0024
imul eax, eax, 0x8ab6e8a1
or eax, 0x4c274fd0
xor eax, 0x866ff646
xor eax, 0x25edebc3
imul eax, eax, 0xf1326b9d
sub eax, 0x3fc4f188
sub eax, 0xd829fafa
add eax, 0xac5a431d
cmp eax, 0x89fbfb1c
je 0x10049d03
mov eax, dword [0x10147a80]
sub eax, dword [0x10147a84]
mov ecx, 0x705dee90
xor edx, edx
div ecx
add eax, 0x2d8474e6
and eax, 0x2b367946
add eax, 0x1c435a97
imul eax, eax, 0xc2f7dec9
sub eax, 0x66ff01ea
mov ecx, 0xe2f6a81d
xor edx, edx
div ecx
and eax, 0x63f218c6
or eax, 0x5133f0d1
or eax, 0x13f2b6b1
xor eax, 0x3712ad55
mov ecx, 0x346354ac
xor edx, edx
div ecx
sub eax, 0x4c61ef7
sub eax, 0x61c99df9
or eax, 0xfbbc1d64
xor eax, 0x8f17a4b9
sub eax, 0x7ce24c82
imul eax, eax, 0x707a0a4b
xor eax, 0x5d84d9cd
and eax, 0x5ac67fce
add eax, 0xdfbff8f2
add eax, 0x25cf6af7
add eax, 0x867f917f
add eax, 0x258d673d
imul eax, eax, 0x1e5a24d8
sub eax, 0xe1afd823
or eax, 0xac4b1c8d
and eax, 0x470a9cb
and eax, 0x16822702
and eax, 0xa013c8f5
xor eax, 0x9423f5fd
add eax, 0x2e1fecce
xor eax, 0xc33479bc
cmp eax, 0x98bbe28b
jae 0x10049d33
mov eax, dword [0x10147a88]
and eax, dword [0x10147a8c]
and eax, 0x797b081a
and eax, 0x1c55a6d4
xor eax, 0x7c4343e2
and eax, 0x29aa0918
mov ecx, 0x5119267b
xor edx, edx
div ecx
and eax, 0x98f1aa2
imul eax, eax, 0xac78a3de
add eax, 0xfd234f54
sub eax, 0x51dc3e8d
and eax, 0xc4afe8cd
and eax, 0x1acbacd1
imul eax, eax, 0xe7e89f1f
mov ecx, 0x16771a0d
xor edx, edx
div ecx
or eax, 0x69694a8f
imul eax, eax, 0xb6bfea36
or eax, 0xc4248056
add eax, 0xe107d903
and eax, 0x9578507c
xor eax, 0xc485feeb
and eax, 0x791e9cce
or eax, 0xe59a2624
sub eax, 0x9d7a1761
mov ecx, 0xa068cbcf
xor edx, edx
div ecx
imul eax, eax, 0x94e20cda
or eax, 0xadf7976e
or eax, 0x8e30ef3c
mov ecx, 0xc15e6425
xor edx, edx
div ecx
xor eax, 0x44d922eb
xor eax, 0x517fcce0
or eax, 0xd74ae848
xor eax, 0x28eccb7e
or eax, 0x7e823f17
or eax, 0x2536ed00
cmp eax, 0x362064dd
je 0x10049d33
mov eax, dword [0x10147a90]
xor eax, dword [0x10147a94]
imul eax, eax, 0x8370be4b
xor eax, 0x71ef73
imul eax, eax, 0x8ff323e7
sub eax, 0xce7d8af7
sub eax, 0x4998bbd3
mov ecx, 0x3a25d0b2
xor edx, edx
div ecx
mov ecx, 0xc2ed8511
xor edx, edx
div ecx
xor eax, 0xf83b9fd1
or eax, 0x6801e818
or eax, 0xb9eab9d2
mov ecx, 0x2f69a3e3
xor edx, edx
div ecx
mov ecx, 0xc513cef3
xor edx, edx
div ecx
sub eax, 0xa3816587
imul eax, eax, 0x4786749c
mov ecx, 0xf5d3dfcd
xor edx, edx
div ecx
add eax, 0x644265ac
sub eax, 0xaf92c0ec
sub eax, 0xd85b636c
xor eax, 0xbb489303
imul eax, eax, 0x145ee0e6
imul eax, eax, 0x1336d85f
or eax, 0x3b98c941
or eax, 0xf67bce34
mov ecx, 0xb7495716
xor edx, edx
div ecx
sub eax, 0xcb01378a
add eax, 0x811431f1
mov ecx, 0x1481d555
xor edx, edx
div ecx
xor eax, 0xe31b0a43
add eax, 0x2eb929c4
or eax, 0xae6a4f1a
sub eax, 0xf516c00
mov ecx, 0x89d2c154
xor edx, edx
div ecx
add eax, 0xabbf20ad
cmp eax, 0xa30b3037
jbe 0x10049d03
mov eax, dword [0x10147a98]
imul eax, dword [0x10147a9c]
sub eax, 0xbf75adec
and eax, 0xd63e4e2b
mov ecx, 0x25136693
xor edx, edx
div ecx
xor eax, 0xa06a1b62
sub eax, 0xfac49536
imul eax, eax, 0x35972187
imul eax, eax, 0x3012f857
or eax, 0x772b71d1
sub eax, 0x4a45f042
sub eax, 0x1a41de88
imul eax, eax, 0x8920ecaf
add eax, 0xa208949b
xor eax, 0xb20cfac4
sub eax, 0x5afa5b83
and eax, 0x73b323ca
or eax, 0x15257f31
xor eax, 0x91d2fee4
add eax, 0x44d0893
sub eax, 0xa94777cd
mov ecx, 0xfc7b15a1
xor edx, edx
div ecx
imul eax, eax, 0xf2db73f5
sub eax, 0x60e17987
mov ecx, 0x1109b63a
xor edx, edx
div ecx
add eax, 0xaa6e7917
xor eax, 0x7a384e32
mov ecx, 0x5914e948
xor edx, edx
div ecx
sub eax, 0xbbdf691b
and eax, 0x8a0b9d90
or eax, 0x10ee1873
mov ecx, 0x935af0ac
xor edx, edx
div ecx
mov ecx, 0xc4544bf3
xor edx, edx
div ecx
add eax, 0x48af28e3
and eax, 0xba0c0bc8
cmp eax, 0x6d87a2aa
ja 0x10049d38
mov eax, dword [0x10147aa0]
xor eax, dword [0x10147aa4]
sub eax, 0xb426eeab
xor eax, 0xbef2bbff
xor eax, 0x6956d751
add eax, 0x78782ea2
mov ecx, 0x7d96baf1
xor edx, edx
div ecx
sub eax, 0x38f38ef
sub eax, 0xadb37030
mov ecx, 0x270acb14
xor edx, edx
div ecx
xor eax, 0x76991370
add eax, 0xf5c21e15
add eax, 0x7feaa172
add eax, 0x3e934e96
add eax, 0x5127557a
and eax, 0x8832b7a8
xor eax, 0x448670b9
imul eax, eax, 0x30f1d61b
imul eax, eax, 0x17679977
sub eax, 0x1311ad8a
mov ecx, 0xb0b20dd
xor edx, edx
div ecx
add eax, 0xc70d7c7e
mov ecx, 0x10635b0b
xor edx, edx
div ecx
sub eax, 0x2d7766f7
or eax, 0xf6c9d805
and eax, 0xe98a4662
imul eax, eax, 0xe9776d7
mov ecx, 0x5e699042
xor edx, edx
div ecx
mov ecx, 0x7f69e83
xor edx, edx
div ecx
add eax, 0x26abc40a
or eax, 0x29129093
mov ecx, 0x8bfafd3c
xor edx, edx
div ecx
imul eax, eax, 0xc4415186
or eax, 0x7c40b5d0
and eax, 0x6b31824b
cmp eax, 0xfc727058
je 0x10049c24
mov esp, ebp
pop ebp
ret
jmp 0x100498d3
mov ecx, dword [ebp - 4]
push eax
mov eax, esp
mov dword [eax], ecx
jmp 0x10049440
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x4c]
sub esp, 4
mov dword [esp], eax
call fcn.10121d38
add esp, 4
jmp 0x10049550
jmp 0x10049728
jmp 0x1004999d
jmp 0x10049c24