Function at 0x100a4c50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x14
mov dword [ebp - 8], ecx
mov eax, dword [0x1014b168]
sub eax, dword [0x1014b16c]
mov ecx, 0xa9d8032e
xor edx, edx
div ecx
or eax, 0xc0e183b8
xor eax, 0xfcd5ed8d
imul eax, eax, 0xaa81b324
and eax, 0xa8dee404
mov ecx, 0x9c1810c0
xor edx, edx
div ecx
sub eax, 0x116593a7
xor eax, 0x5ddef847
imul eax, eax, 0x52f9de62
imul eax, eax, 0xb9305647
and eax, 0xe20610ac
sub eax, 0x63feca1d
xor eax, 0x3460e39a
imul eax, eax, 0x2b0c5e25
or eax, 0x64522ed2
or eax, 0x9fe96503
imul eax, eax, 0xa81e3726
sub eax, 0xa4b98a6b
sub eax, 0x5e0e9371
imul eax, eax, 0x80928d59
sub eax, 0x6251a8e0
add eax, 0xe7c62181
or eax, 0xf67b7559
and eax, 0x24af6122
xor eax, 0xa0efbded
add eax, 0x3759cefe
or eax, 0xaba2a16c
sub eax, 0x93bd56da
imul eax, eax, 0x92c38df0
and eax, 0x4a4992f7
imul eax, eax, 0x905801e4
mov ecx, 0x4e3cb986
xor edx, edx
div ecx
add eax, 0xa65430dc
cmp eax, 0x8298859f
jbe 0x100a5878
mov eax, dword [0x1014b170]
xor edx, edx
div dword [0x1014b174]
and eax, 0xb1219914
or eax, 0xc6e15ed1
mov ecx, 0xe7ad16ae
xor edx, edx
div ecx
add eax, 0xa9036ea3
and eax, 0x7419f473
add eax, 0xb01e88fd
add eax, 0x2dc7f28
add eax, 0x790726a3
mov ecx, 0xb44545ae
xor edx, edx
div ecx
imul eax, eax, 0x8b1beb93
add eax, 0x6a86b50c
imul eax, eax, 0x151e62d9
add eax, 0x5a43f9d5
add eax, 0x7ab616fd
or eax, 0x3e5a4b70
and eax, 0x20ecb86a
or eax, 0xeb433e0
or eax, 0xa72223d0
sub eax, 0xd62bf68e
add eax, 0xda74d72
imul eax, eax, 0x908e7dc8
or eax, 0x4b5be9ea
mov ecx, 0x82016134
xor edx, edx
div ecx
mov ecx, 0xa498fc40
xor edx, edx
div ecx
add eax, 0xfab91846
imul eax, eax, 0x619602fe
imul eax, eax, 0x91beb710
and eax, 0x141501bd
xor eax, 0x85c61228
and eax, 0x6f742ec2
xor eax, 0x3eb04cd
and eax, 0x3532bf23
mov ecx, 0x28078eef
xor edx, edx
div ecx
cmp eax, 0x9094ffe6
je 0x100a4d29
mov eax, dword [0x1014b178]
sub eax, dword [0x1014b17c]
or eax, 0xb7d21ee9
imul eax, eax, 0x5557eb51
and eax, 0x74022ff
and eax, 0xf93a5773
or eax, 0xc05123bd
imul eax, eax, 0x3a20598c
and eax, 0xbb8d225b
mov ecx, 0x52d68fc0
xor edx, edx
div ecx
mov ecx, 0xcef429f3
xor edx, edx
div ecx
sub eax, 0x5f0801fe
sub eax, 0xcd6fec32
sub eax, 0x8d1dd6b9
mov ecx, 0xd6a1ef92
xor edx, edx
div ecx
add eax, 0x9240d168
xor eax, 0x5da8445f
and eax, 0x6d70d9ec
mov ecx, 0x9ffbd927
xor edx, edx
div ecx
add eax, 0x9bb65824
and eax, 0x2f047bc5
sub eax, 0x75174dc0
xor eax, 0x247616ce
and eax, 0xac6b3051
mov ecx, 0x204d679c
xor edx, edx
div ecx
mov ecx, 0x64953a3e
xor edx, edx
div ecx
sub eax, 0x7571619b
xor eax, 0x480e2674
and eax, 0x2df56b86
and eax, 0xd8701868
mov ecx, 0x1d53f03e
xor edx, edx
div ecx
xor eax, 0x628d43b6
xor eax, 0xd6e55c0e
mov ecx, 0x8bd4f63a
xor edx, edx
div ecx
and eax, 0x975dae2f
cmp eax, 0xfea039eb
ja 0x100a5774
mov eax, dword [0x1014b180]
imul eax, dword [0x1014b184]
xor eax, 0x8955fac4
imul eax, eax, 0xf55b3783
imul eax, eax, 0xc08a7768
imul eax, eax, 0x1c17a70a
imul eax, eax, 0x156e8def
mov ecx, 0xa05b168d
xor edx, edx
div ecx
add eax, 0x155ec073
and eax, 0x3bd2f15f
xor eax, 0x862c86c2
sub eax, 0x9284ebae
and eax, 0xd9740477
or eax, 0x812d5fb4
add eax, 0xcce12200
add eax, 0xcc17b9af
imul eax, eax, 0x1cf97161
add eax, 0x5388ec87
or eax, 0x287a79f4
or eax, 0xeb9fd900
imul eax, eax, 0xd41029c1
mov ecx, 0x7fe723d6
xor edx, edx
div ecx
mov ecx, 0x881c28cb
xor edx, edx
div ecx
mov ecx, 0xb62d2234
xor edx, edx
div ecx
sub eax, 0x7b35b8ca
xor eax, 0x6abe8cc9
mov ecx, 0xdbca1180
xor edx, edx
div ecx
mov ecx, 0x139b24c3
xor edx, edx
div ecx
and eax, 0xed7231c2
or eax, 0xb0811319
sub eax, 0x6aeed8cd
imul eax, eax, 0x3208b679
or eax, 0x1833be34
sub eax, 0x5849def0
sub eax, 0x68834c0e
cmp eax, 0x1f2672fc
jbe 0x100a587d
mov edx, dword [ebp - 8]
mov eax, 0x9cf3937d
push eax
mov ecx, esp
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x10], ecx
cmp dword [ecx + 4], 0
setne cl
mov byte [ebp - 9], cl
cmp eax, 0x16f47d26
jb 0x100a587d
mov eax, dword [0x1014b190]
sub eax, dword [0x1014b194]
sub eax, 0x6c7a8085
sub eax, 0xb7e07de4
xor eax, 0x31cc3303
and eax, 0x8c35c63
imul eax, eax, 0xd034e0d5
xor eax, 0x18d966c9
imul eax, eax, 0x4581c425
add eax, 0x3b66ae2d
add eax, 0xf32c822d
sub eax, 0x44b72d5b
or eax, 0x93996398
sub eax, 0x857aa5f7
and eax, 0x37156efb
or eax, 0x97e245ef
or eax, 0x4c5f3a5c
xor eax, 0x63f8b306
xor eax, 0x71ff76f0
add eax, 0xf7bf5e8
imul eax, eax, 0x17655d5b
xor eax, 0x7e2ef1e2
add eax, 0xe670c3c
imul eax, eax, 0x838558d0
xor eax, 0xf359133b
mov ecx, 0xaf5df93f
xor edx, edx
div ecx
xor eax, 0xea3f463f
and eax, 0x50176101
add eax, 0xc71a885e
mov ecx, 0x76818a0
xor edx, edx
div ecx
mov ecx, 0x33b2dda6
xor edx, edx
div ecx
imul eax, eax, 0xd584e36f
add eax, 0xb05b76ab
imul eax, eax, 0x618f348
and eax, 0xb0735526
cmp eax, 0xad916540
je 0x100a5774
mov eax, dword [0x1014b198]
xor eax, dword [0x1014b19c]
imul eax, eax, 0x19f5a2a0
mov ecx, 0xf3ff32a8
xor edx, edx
div ecx
imul eax, eax, 0x2abae106
and eax, 0xb4d9901b
imul eax, eax, 0x75b44838
xor eax, 0x6b60abb7
sub eax, 0x4426dec3
sub eax, 0x755e49b
imul eax, eax, 0xb1db8971
or eax, 0x8bb4c4a7
mov ecx, 0xbaff3e19
xor edx, edx
div ecx
imul eax, eax, 0xa3dae35f
mov ecx, 0x69bed416
xor edx, edx
div ecx
xor eax, 0x7d430691
mov ecx, 0xc4ae34fc
xor edx, edx
div ecx
sub eax, 0x15987af6
and eax, 0xc6d36d27
imul eax, eax, 0x5fec5234
and eax, 0x1544dbeb
and eax, 0xdf03be8a
and eax, 0x7d6c4999
mov ecx, 0xee5a6724
xor edx, edx
div ecx
or eax, 0x7d36cb09
xor eax, 0xebae158d
or eax, 0x19a029da
add eax, 0x7d4f3940
mov ecx, 0x3779a318
xor edx, edx
div ecx
and eax, 0xa0a8178f
and eax, 0x3042af33
and eax, 0xa53ad4e7
mov ecx, 0xf25aaf86
xor edx, edx
div ecx
or eax, 0x3554a253
imul eax, eax, 0x967d9356
cmp eax, 0xb0f67f73
jae 0x100a588a
mov eax, dword [0x1014b1a0]
or eax, dword [0x1014b1a4]
sub eax, 0xdbc12a72
xor eax, 0x498aa8b6
imul eax, eax, 0xdba75d3
xor eax, 0x790ddddf
and eax, 0x4500cb8f
or eax, 0x2848063c
and eax, 0xf1a04342
or eax, 0x8659f7d3
add eax, 0x5c2d6436
imul eax, eax, 0x34438bde
sub eax, 0xfcfd560e
or eax, 0xb1fb273a
sub eax, 0x9d1cf726
add eax, 0xb0714f97
add eax, 0x213499ee
imul eax, eax, 0x78c17fd
imul eax, eax, 0xe55391b1
sub eax, 0xbb984d3a
or eax, 0x56b97079
xor eax, 0x77e45916
imul eax, eax, 0x5fa1a298
sub eax, 0x19ba3344
and eax, 0xd9cf4ed6
or eax, 0xa63343
sub eax, 0x6dc32f24
or eax, 0xe5139de5
add eax, 0xf7c6575a
or eax, 0x73a6d310
and eax, 0x8d8db99c
mov ecx, 0xb3b0c266
xor edx, edx
div ecx
or eax, 0x889193c4
or eax, 0x9486b560
xor eax, 0xfa68b0e3
cmp eax, 0x2dc5b2c5
jb 0x100a5189
mov al, byte [ebp - 9]
test al, 1
jne 0x100a525d
jmp 0x100a5410
mov eax, dword [0x1014b1a8]
xor eax, dword [0x1014b1ac]
and eax, 0xcec3b113
sub eax, 0x427ee3b7
sub eax, 0x91fd2a22
sub eax, 0xb9cb356d
imul eax, eax, 0x8f4c4b31
add eax, 0xd3e1195e
and eax, 0x97f5bf03
add eax, 0x7cc78995
imul eax, eax, 0xd768a308
add eax, 0x84100e1c
add eax, 0x413a4bb1
and eax, 0x4588511b
sub eax, 0x98e5f6e7
or eax, 0x14ea7855
mov ecx, 0xe4a5cd3d
xor edx, edx
div ecx
imul eax, eax, 0x35184fe6
add eax, 0x35c86fe7
or eax, 0x2ceb2758
sub eax, 0x36ceb2bd
xor eax, 0xa44a69cb
xor eax, 0xdd3962e0
xor eax, 0x18f20a8b
imul eax, eax, 0xa749e467
or eax, 0xb4e9b7e
or eax, 0x5a51d270
xor eax, 0x3dea0820
imul eax, eax, 0x874432f2
imul eax, eax, 0xc9160e91
or eax, 0x90c9567a
and eax, 0x125d78dc
imul eax, eax, 0xf984e112
mov ecx, 0xc2e68164
xor edx, edx
div ecx
imul eax, eax, 0x4f04942e
cmp eax, 0xd1677828
ja 0x100a588f
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x1014b1b0]
and eax, dword [0x1014b1b4]
sub eax, 0xa3b0133d
sub eax, 0x426861f7
imul eax, eax, 0xf8485f5f
mov esi, 0x2eba6216
xor edx, edx
div esi
mov esi, 0x678f2ae
xor edx, edx
div esi
xor eax, 0x16f4677e
add eax, 0xfbef5d89
or eax, 0xd7594f0e
imul eax, eax, 0x958f2ffa
xor eax, 0x1df9d81f
imul eax, eax, 0x95c0ddb1
xor eax, 0x9188024d
sub eax, 0x97a54484
imul eax, eax, 0x82e9dae7
xor eax, 0x8d2f3b3a
or eax, 0x28f7bc4a
add eax, 0x3b5a140d
sub eax, 0xe97c7345
add eax, 0xb78471f5
sub eax, 0xd2052574
xor eax, 0xc29aeb99
mov esi, 0xb013249c
xor edx, edx
div esi
and eax, 0x1c073fd
and eax, 0x41c8a8f
imul eax, eax, 0x54a3887f
mov esi, 0x30ee8958
xor edx, edx
div esi
or eax, 0x45a681de
or eax, 0x31c0fc8c
add eax, 0x5158f77
xor eax, 0x1a429f68
mov esi, 0x18325d86
xor edx, edx
div esi
or eax, 0xea0b264b
add eax, 0x3271fe65
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x14], ecx
cmp eax, 0x5598cd80
je 0x100a5328
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
jmp 0x100a576b
mov eax, dword [0x1014b1b8]
and eax, dword [0x1014b1bc]
mov ecx, 0xe8ab1055
xor edx, edx
div ecx
xor eax, 0x6924c0fa
or eax, 0xc2ff7d84
add eax, 0xc9064f4e
add eax, 0x30dd96c6
and eax, 0x888b6c6c
add eax, 0x2406b1b0
mov ecx, 0xd0dea2bc
xor edx, edx
div ecx
imul eax, eax, 0xb731e4d
imul eax, eax, 0x38d8df9f
or eax, 0xdf1942a6
sub eax, 0xae8bc3a4
sub eax, 0x343aa70b
mov ecx, 0xa43aa1a5
xor edx, edx
div ecx
and eax, 0xd82fffbb
add eax, 0x824ea27b
imul eax, eax, 0xf021e211
mov ecx, 0xa108580e
xor edx, edx
div ecx
imul eax, eax, 0xf8ae3853
or eax, 0x79b22016
and eax, 0xe08d6bb5
sub eax, 0xfbf0eee1
or eax, 0x630f2261
sub eax, 0x199a3221
sub eax, 0xf9de5947
add eax, 0xca33dc6f
xor eax, 0x26f2b2b9
imul eax, eax, 0xd7717d11
or eax, 0xd5e98dd5
and eax, 0xc9818858
mov ecx, 0xdedd8f62
xor edx, edx
div ecx
xor eax, 0xa78134a6
add eax, 0x3c27f6fa
cmp eax, 0xff32d2cc
jae 0x100a5873
mov eax, dword [0x1014b1c0]
or eax, dword [0x1014b1c4]
or eax, 0x86f8c5b3
xor eax, 0xccdad3dd
or eax, 0xabbbd603
mov ecx, 0x42e319f1
xor edx, edx
div ecx
mov ecx, 0xae62a261
xor edx, edx
div ecx
and eax, 0x30344d0a
and eax, 0x41534867
and eax, 0xd5db9f86
imul eax, eax, 0x63ca2b26
imul eax, eax, 0x60a35722
sub eax, 0x119de71d
imul eax, eax, 0xf3c68143
or eax, 0x39842fcc
add eax, 0x7e36c07f
sub eax, 0xbf99ec34
xor eax, 0x445823ab
mov ecx, 0x48338f18
xor edx, edx
div ecx
imul eax, eax, 0x628ca0d7
xor eax, 0x478ea78c
mov ecx, 0xa9c78a10
xor edx, edx
div ecx
sub eax, 0xf5c73bb5
and eax, 0xea8e70c8
xor eax, 0x6eaca566
sub eax, 0xa2fb6cf3
xor eax, 0xd49035c3
imul eax, eax, 0xb2171135
sub eax, 0xdf89d55
xor eax, 0xedc03e61
and eax, 0x51cc735e
and eax, 0xb1890a0
mov ecx, 0xc84efd0
xor edx, edx
div ecx
sub eax, 0x3cb4826b
add eax, 0xe9bff9a1
cmp eax, 0x257e7591
jb 0x100a5873
mov eax, dword [0x1014b1c8]
xor edx, edx
div dword [0x1014b1cc]
imul eax, eax, 0xa650d18c
sub eax, 0x8737fc1e
xor eax, 0x53d5d79f
imul eax, eax, 0x4f3fe862
or eax, 0x9cf75e2d
add eax, 0xb488ed16
mov ecx, 0xd6fe06e1
xor edx, edx
div ecx
sub eax, 0x508dd41d
add eax, 0xe47dde1c
imul eax, eax, 0xac05c1e9
or eax, 0xdf4808c6
and eax, 0x39af6f0a
mov ecx, 0x8ea74b01
xor edx, edx
div ecx
sub eax, 0xa6c0a658
and eax, 0x4494f7e1
imul eax, eax, 0xb389543f
and eax, 0x62aad0b2
mov ecx, 0x22f30918
xor edx, edx
div ecx
add eax, 0x6d28fa8d
imul eax, eax, 0xfea47237
add eax, 0x410f9d4f
and eax, 0x5853cfe3
xor eax, 0x4ada6916
or eax, 0x83407c37
sub eax, 0x6abbd36e
add eax, 0x2831b391
sub eax, 0x5e108964
xor eax, 0x6edc2d85
sub eax, 0xbf437ab9
or eax, 0x564aa2c4
xor eax, 0xe0261f79
imul eax, eax, 0xbad8047e
or eax, 0x3bf50c80
cmp eax, 0xa1c89241
je 0x100a5894
mov eax, dword [0x1014b1d0]
xor edx, edx
div dword [0x1014b1d4]
imul eax, eax, 0xf286e329
sub eax, 0x31e23e73
add eax, 0x96ed9963
sub eax, 0x615bf5a1
xor eax, 0x83601bc8
add eax, 0xfae698df
or eax, 0xf43c2f79
add eax, 0x7c5b5948
sub eax, 0xa0690d62
imul eax, eax, 0x65130310
xor eax, 0x36bde8f7
and eax, 0xeba1f419
sub eax, 0x820fc6a
xor eax, 0xa60161b8
xor eax, 0x108e5270
mov ecx, 0x89bd8c18
xor edx, edx
div ecx
mov ecx, 0xdec05b52
xor edx, edx
div ecx
and eax, 0xefcc69dc
xor eax, 0x220e0291
mov ecx, 0x223348f8
xor edx, edx
div ecx
or eax, 0xf0814102
or eax, 0x77f042c2
imul eax, eax, 0xc1adbd0d
sub eax, 0xcb0f7bdd
mov ecx, 0x326913e5
xor edx, edx
div ecx
imul eax, eax, 0xaa85a13
and eax, 0xd08c76f
xor eax, 0x71ea95ef
sub eax, 0xf25dd7c1
imul eax, eax, 0x3b35543d
sub eax, 0x3353ea7c
or eax, 0x14bdb5f
mov ecx, 0x802a3857
xor edx, edx
div ecx
cmp eax, 0xc228bc42
ja 0x100a5687
lea eax, str.Unknown_exception
mov dword [ebp - 0x18], eax
jmp 0x100a576b
mov eax, dword [ebp - 0x18]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x1014b1d8]
add eax, dword [0x1014b1dc]
xor eax, 0x8bb30f1c
xor eax, 0xe9e205d6
mov ecx, 0x5bdc7b63
xor edx, edx
div ecx
or eax, 0x2938b258
add eax, 0x424331d6
mov ecx, 0x1589ec1c
xor edx, edx
div ecx
xor eax, 0x9b80a2eb
xor eax, 0xefff7cd0
mov ecx, 0x632acb78
xor edx, edx
div ecx
mov ecx, 0x19e4e3e
xor edx, edx
div ecx
mov ecx, 0x9b6bb860
xor edx, edx
div ecx
or eax, 0x1bbf16c5
or eax, 0x88293904
and eax, 0x37e2f9f9
mov ecx, 0x4ee32dfe
xor edx, edx
div ecx
and eax, 0x5412b694
and eax, 0x81a13f07
xor eax, 0x1494adc
mov ecx, 0x16faa172
xor edx, edx
div ecx
sub eax, 0x8037e1f9
mov ecx, 0x2350bc6e
xor edx, edx
div ecx
sub eax, 0xd0de2525
imul eax, eax, 0x2eec20fd
sub eax, 0x57a21944
and eax, 0x259e9ea
xor eax, 0xff3b858a
sub eax, 0xdcb744b8
and eax, 0x6d47b6b2
imul eax, eax, 0xb5e8a450
or eax, 0x5eb2c95f
add eax, 0x8de80045
mov ecx, 0x274ce8d9
xor edx, edx
div ecx
imul eax, eax, 0x24cb4c17
cmp eax, 0x4c02733a
je 0x100a5899
mov edx, dword [ebp - 8]
mov eax, 0x142fc2e2
push eax
mov ecx, esp
mov dword [ecx], edx
cmp eax, 0x8f251ffb
jae 0x100a5899
jmp 0x100a4edc
jmp 0x100a54e4
jmp 0x100a4d29
mov ecx, dword [ebp - 8]
push eax
mov eax, esp
mov dword [eax], ecx
jmp 0x100a4fb7
jmp 0x100a5189
jmp 0x100a5328
jmp 0x100a5687
mov ecx, dword [ebp - 8]
push eax
mov eax, esp
mov dword [eax], ecx
jmp 0x100a5856