Function at 0x100ca1c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], ecx
mov eax, dword [0x1014c808]
add eax, dword [0x1014c80c]
mov ecx, 0x6c69b3ad
xor edx, edx
div ecx
mov ecx, 0xd07b40dd
xor edx, edx
div ecx
mov ecx, 0x1768b66d
xor edx, edx
div ecx
or eax, 0x192439ee
and eax, 0x83135451
imul eax, eax, 0x45132072
mov ecx, 0xf857df65
xor edx, edx
div ecx
xor eax, 0xcf84f424
and eax, 0x12ed0900
and eax, 0xbab0dd
and eax, 0x69e71459
sub eax, 0x84c9595e
and eax, 0x9c403b1a
mov ecx, 0x35760651
xor edx, edx
div ecx
mov ecx, 0x80963300
xor edx, edx
div ecx
or eax, 0x1977218d
and eax, 0x63e6fc09
add eax, 0xf9279fd3
add eax, 0x939de9b6
and eax, 0x3cfae7ef
or eax, 0x92328ecc
and eax, 0x72c27235
imul eax, eax, 0xf6908d85
sub eax, 0xe2592202
or eax, 0xe98b19a2
add eax, 0x2e98ce9d
and eax, 0xef011bf0
xor eax, 0xec1317e7
xor eax, 0x35b0c75a
or eax, 0x8579865e
or eax, 0x8798569c
mov ecx, 0x4a439bd0
xor edx, edx
div ecx
xor eax, 0x36f46bb3
cmp eax, 0x5c44d3ff
ja 0x100ca765
mov eax, dword [0x1014c810]
xor edx, edx
div dword [0x1014c814]
mov ecx, 0x1df31f14
xor edx, edx
div ecx
or eax, 0xdcff6d96
mov ecx, 0xacc44806
xor edx, edx
div ecx
add eax, 0x203071f2
xor eax, 0xc659a317
mov ecx, 0x4a718385
xor edx, edx
div ecx
and eax, 0xa5803d9
imul eax, eax, 0x1019e8b4
add eax, 0xb0355ad1
imul eax, eax, 0x6b8680d9
add eax, 0x681cc5b1
xor eax, 0xe907aba2
xor eax, 0xaedd395
or eax, 0xd2328ad5
and eax, 0xee71034c
mov ecx, 0x4158effa
xor edx, edx
div ecx
and eax, 0xbe5f5cdb
and eax, 0x1e15338d
mov ecx, 0x39a5737d
xor edx, edx
div ecx
xor eax, 0x2e5a2bc2
or eax, 0xfc28a294
add eax, 0x275cd9a2
mov ecx, 0xc8af39f0
xor edx, edx
div ecx
add eax, 0xf56060f5
mov ecx, 0x80fd2d52
xor edx, edx
div ecx
imul eax, eax, 0x5fbe8b3b
mov ecx, 0x2136c867
xor edx, edx
div ecx
imul eax, eax, 0xe9808d8
xor eax, 0x983a00db
sub eax, 0xeabaa9db
add eax, 0xdde36132
imul eax, eax, 0xfc83fc69
add eax, 0x1d90cf66
cmp eax, 0x521da049
jae 0x100ca765
mov eax, dword [0x1014c818]
add eax, dword [0x1014c81c]
imul eax, eax, 0xa38d31b1
xor eax, 0x7db3f53c
imul eax, eax, 0x688adbf1
and eax, 0xfb907b64
sub eax, 0x109d9666
xor eax, 0x140ded6c
mov ecx, 0x42c0dba9
xor edx, edx
div ecx
sub eax, 0xfdaee90f
sub eax, 0xaf79d8df
sub eax, 0xd3743987
xor eax, 0x3a4833c0
and eax, 0xb7c29d3d
add eax, 0x373c5b94
xor eax, 0x918fbad8
xor eax, 0xe53f567d
and eax, 0xa3eb7c13
imul eax, eax, 0xecf8513c
or eax, 0x3da33a7d
and eax, 0xf02d5e66
xor eax, 0xabd8e65d
xor eax, 0x9f880f9c
xor eax, 0xf4e2b29f
mov ecx, 0xdec07a42
xor edx, edx
div ecx
add eax, 0xe05d6b72
add eax, 0x4b75e8b3
and eax, 0x49b75c2
mov ecx, 0x6fd97ea
xor edx, edx
div ecx
mov ecx, 0xaff50d31
xor edx, edx
div ecx
imul eax, eax, 0x3e1a42f8
or eax, 0x7fbf8afe
mov ecx, 0xed40c309
xor edx, edx
div ecx
imul eax, eax, 0xb4f85fb3
mov ecx, 0x33198ae5
xor edx, edx
div ecx
cmp eax, 0x22d7ff7
ja 0x100ca647
mov ecx, dword [ebp - 4]
mov eax, 3
mov dword [ebp - 8], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
lea eax, str.bad_cast
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100a58b0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
lea edx, vtable.std::bad_cast.0
mov dword [ecx], edx
cmp eax, 0x9bcc2b96
ja 0x100ca647
mov eax, dword [0x1014c828]
add eax, dword [0x1014c82c]
or eax, 0x92f1930
mov ecx, 0xbc299c80
xor edx, edx
div ecx
add eax, 0xaeabd468
and eax, 0x35d25134
or eax, 0x278d732b
xor eax, 0x20b367c1
sub eax, 0xfcb8c23c
mov ecx, 0xaee48225
xor edx, edx
div ecx
imul eax, eax, 0x31619bb0
sub eax, 0x7b1fb4fb
sub eax, 0x5a3e77f5
mov ecx, 0xa3bd1b39
xor edx, edx
div ecx
imul eax, eax, 0xc92dcb75
xor eax, 0xce05a7d
imul eax, eax, 0xbe693701
sub eax, 0xdc24e396
mov ecx, 0x51c16f52
xor edx, edx
div ecx
imul eax, eax, 0x70b6b4af
imul eax, eax, 0x669a2755
imul eax, eax, 0x39563883
and eax, 0x9b8e6c9a
or eax, 0x32ce8286
mov ecx, 0xd4662df8
xor edx, edx
div ecx
sub eax, 0x863d7b9a
xor eax, 0x5320662c
mov ecx, 0x112b6875
xor edx, edx
div ecx
sub eax, 0x7cd4f919
or eax, 0x7677ffd5
xor eax, 0x821ce4d6
xor eax, 0x5348779d
xor eax, 0x8c03700f
xor eax, 0x9316b95
xor eax, 0x7ccd640a
cmp eax, 0x569f1e63
je 0x100ca76a
mov eax, dword [0x1014c830]
sub eax, dword [0x1014c834]
xor eax, 0xd4875516
add eax, 0x9192104b
sub eax, 0x19cff933
or eax, 0x88eb295f
sub eax, 0x4652ec74
imul eax, eax, 0x63bae235
add eax, 0x57e2f7ef
xor eax, 0x286374ed
sub eax, 0x1275e93
and eax, 0xbba19562
imul eax, eax, 0x9de7389b
and eax, 0xbc3d17f0
xor eax, 0xadb014f9
or eax, 0x85f74eca
or eax, 0x3f8f3fb3
add eax, 0xee9d07d2
and eax, 0xbd72daef
and eax, 0x7242ec6e
imul eax, eax, 0x14c721b
imul eax, eax, 0xcac19848
and eax, 0xfab60014
sub eax, 0x96e79b9c
or eax, 0xe2a67033
xor eax, 0xbd17195c
xor eax, 0x11f219e0
sub eax, 0x3396f6be
mov ecx, 0xf23c3520
xor edx, edx
div ecx
and eax, 0x5a24d9b6
xor eax, 0x25d0eb95
or eax, 0x41140c92
imul eax, eax, 0xdda56824
or eax, 0x6d8b52b9
or eax, 0x39af4f06
cmp eax, 0x6baa67af
je 0x100ca57c
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1014c838]
imul eax, dword [0x1014c83c]
imul eax, eax, 0xd965691
imul eax, eax, 0x61cdeb28
sub eax, 0xec208ad3
mov ecx, 0x100c420d
xor edx, edx
div ecx
mov ecx, 0xd99f2894
xor edx, edx
div ecx
or eax, 0x61a43a66
add eax, 0x9aa3790d
or eax, 0x1e124a4b
and eax, 0x8dd6d852
add eax, 0xf59321d0
xor eax, 0x75dc6b01
add eax, 0x6eef168
imul eax, eax, 0x24251b54
xor eax, 0xafc77598
mov ecx, 0x87668be0
xor edx, edx
div ecx
imul eax, eax, 0x66a7629d
add eax, 0xcef3bd41
mov ecx, 0xedc089be
xor edx, edx
div ecx
sub eax, 0xd53a5fba
add eax, 0x46d0303e
xor eax, 0x9187879f
sub eax, 0x16c927cf
xor eax, 0xa474c249
or eax, 0xfd709259
add eax, 0xa0e60cac
and eax, 0x7ba550d3
add eax, 0x3e157efe
xor eax, 0xab734684
or eax, 0xd5b19411
imul eax, eax, 0xf0580ff4
and eax, 0x5e64425d
xor eax, 0xe24b0d0e
imul eax, eax, 0x21cd6ada
cmp eax, 0x3405d07c
jae 0x100ca76f
mov ecx, dword [ebp - 4]
mov eax, 0xfff7ffcf
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
lea eax, str.bad_cast
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100a58b0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea edx, vtable.std::bad_cast.0
mov dword [ecx], edx
cmp eax, 0x89311b01
je 0x100ca719
jmp 0x100ca45c
jmp 0x100ca2a2
jmp 0x100ca57c
mov ecx, dword [ebp - 4]
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
lea eax, str.bad_cast
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.100a58b0
mov eax, dword [ebp - 0x18]
lea ecx, vtable.std::bad_cast.0
mov dword [eax], ecx
jmp 0x100ca719