Function at 0x10090ef0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x20
mov dword [ebp - 8], ecx
mov eax, dword [0x1014a558]
imul eax, dword [0x1014a55c]
xor eax, 0x4df5e81c
or eax, 0xd327f92b
add eax, 0xbc1b898e
sub eax, 0x222655fe
mov ecx, 0x58b81d21
xor edx, edx
div ecx
mov ecx, 0x52b3b784
xor edx, edx
div ecx
mov ecx, 0x1df20ed0
xor edx, edx
div ecx
sub eax, 0x56c1fa3f
xor eax, 0x5f3caf04
or eax, 0xe64910d1
xor eax, 0x4153dbf7
add eax, 0x7faec2e4
mov ecx, 0xf33e9c5b
xor edx, edx
div ecx
imul eax, eax, 0x9477591b
imul eax, eax, 0x49aba36a
or eax, 0xdf68cbd3
mov ecx, 0xf7bace84
xor edx, edx
div ecx
mov ecx, 0xeea3cb10
xor edx, edx
div ecx
sub eax, 0x1386eb2e
and eax, 0xb22211e5
mov ecx, 0xc7d98b3
xor edx, edx
div ecx
add eax, 0xba24416f
add eax, 0x717b242
xor eax, 0xaed443fd
add eax, 0x7a1b0c55
mov ecx, 0xec91c6a3
xor edx, edx
div ecx
sub eax, 0xbbd68ef6
sub eax, 0xe39b9d7e
or eax, 0x979ea14
xor eax, 0x302397b
or eax, 0x23677d07
or eax, 0xaf6ae1c9
imul eax, eax, 0xe9a68e2c
cmp eax, 0x4638a966
je 0x1009196f
mov eax, dword [0x1014a560]
mov ecx, dword [0x1014a564]
sub eax, ecx
xor eax, 0x69a28989
imul eax, eax, 0x51d59ea0
mov ecx, 0xd62a578d
mul ecx
mov eax, edx
shr eax, 0x1e
add eax, 0x9346786a
xor eax, 0x529126cc
mov ecx, 0x8b0b4979
mul ecx
mov eax, edx
shr eax, 0x1c
add eax, 0x992de273
xor eax, 0x82008401
or eax, 0x7deb7bfe
add eax, 0xd908f4cc
xor eax, 0xd6e4239a
imul eax, eax, 0x3d6704ce
and eax, 0xaeebf9ce
add eax, 0x81be4434
mov ecx, 0x58e21549
mul ecx
shr edx, 0x1c
imul eax, edx, 0x599491d4
add eax, 0x1fd6b0e7
and eax, 0x8960124
add eax, 0x311422b3
or eax, 0x94bb9ffe
imul eax, eax, 0x8ad9ee28
or eax, 0x10e584cb
xor eax, 0x2b929c92
imul eax, eax, 0x8e93abe0
add eax, 0x3399fef2
and eax, 0x6537c482
mov dword [ebp - 0x1c], eax
mov ecx, 0x198bc96f
mul ecx
mov eax, dword [ebp - 0x1c]
mov ecx, edx
mov edx, dword [ebp - 8]
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov dword [ebp - 0x10], eax
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
mov dword [eax], ecx
call fcn.100945a0
mov cl, al
mov eax, dword [ebp - 0x10]
mov byte [ebp - 9], cl
cmp eax, 0xc3785128
jae 0x1009196f
mov al, byte [ebp - 9]
test al, 1
jne 0x100910d8
jmp 0x100912b4
mov eax, dword [0x1014a568]
imul eax, dword [0x1014a56c]
and eax, 0x29a1d00a
mov ecx, 0x57e07f69
xor edx, edx
div ecx
mov ecx, 0xe4fe2b41
xor edx, edx
div ecx
and eax, 0x3e6328cf
add eax, 0x3d978556
add eax, 0x7e6575bc
imul eax, eax, 0x93809cf5
or eax, 0x9f2fe101
and eax, 0xde7a513b
xor eax, 0x25f92f8d
add eax, 0x7cfc51a8
imul eax, eax, 0xb9c9557f
or eax, 0x724b0404
or eax, 0x50100e32
add eax, 0xb704a773
or eax, 0xa17d8c8d
or eax, 0xdb93376c
or eax, 0x9d7084b3
imul eax, eax, 0xb8bb4646
mov ecx, 0xe687cc87
xor edx, edx
div ecx
or eax, 0xed8c9849
or eax, 0x20fe51b5
sub eax, 0x4eab3334
sub eax, 0xb4205dd8
sub eax, 0x9666c1e8
imul eax, eax, 0x6137fa38
imul eax, eax, 0x800ac7ea
imul eax, eax, 0xdec3741
imul eax, eax, 0xdc70a1a6
mov ecx, 0x920d74b8
xor edx, edx
div ecx
and eax, 0x4a5f6b15
and eax, 0xffd3cd07
or eax, 0x34b5a52f
cmp eax, 0x57f38c53
je 0x10091988
mov eax, dword [0x1014a570]
sub eax, dword [0x1014a574]
or eax, 0x6dcbbef2
and eax, 0x612471f2
and eax, 0x53a1dd45
or eax, 0x3a7fde12
imul eax, eax, 0x6f158456
mov ecx, 0x39ccf097
xor edx, edx
div ecx
mov ecx, 0x7a59b9f
xor edx, edx
div ecx
sub eax, 0x1577a0ef
xor eax, 0x89408333
mov ecx, 0xfa4e0bdf
xor edx, edx
div ecx
mov ecx, 0xa52a87c3
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, 0x36ee1365
add ecx, 0x8b2e9885
imul ecx, ecx, 0x83d0ad50
or ecx, 0x2f6ec53d
xor ecx, 0x12474c8c
xor ecx, 0x44b0350d
or ecx, 0x9a954e0c
add ecx, 0x5076538
and ecx, 0x7d119a74
sub ecx, 0x5a91c223
and ecx, 0x706ca572
and ecx, 0xd8ac8330
imul ecx, ecx, 0x868bdd62
or ecx, 0x86c7146
or ecx, 0x1483f0eb
sub ecx, 0xa113f258
add ecx, 0xb9e6c93a
sub ecx, 0xe04495a9
xor ecx, 0x9e05ff4b
sub ecx, 0x8781e490
imul ecx, ecx, 0xe5b9b4b7
sub ecx, 0x1706733e
mov dword [ebp - 0x20], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10094a40
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x20]
mov dword [ecx], edx
cmp eax, 0xb6c33561
je 0x100911ab
jmp 0x100912b4
mov eax, dword [0x1014a578]
add eax, dword [0x1014a57c]
imul eax, eax, 0xd81696f4
sub eax, 0xec5664fd
or eax, 0xfdff8fcf
and eax, 0xe935dc09
mov ecx, 0xcba0be0e
xor edx, edx
div ecx
xor eax, 0xc6c98306
or eax, 0x96e9548a
sub eax, 0x5b634156
imul eax, eax, 0x656f123a
mov ecx, 0xe297531a
xor edx, edx
div ecx
sub eax, 0x253e7be6
add eax, 0xd66738a0
imul eax, eax, 0x1fb27df4
or eax, 0x566fd162
add eax, 0xb7841604
and eax, 0xd88a100c
mov ecx, 0xa832d294
xor edx, edx
div ecx
mov ecx, 0xe23f8564
xor edx, edx
div ecx
and eax, 0x8d41815e
add eax, 0x619d5b12
or eax, 0xf76a7157
and eax, 0x8e11b4c9
mov ecx, 0x7edfc80f
xor edx, edx
div ecx
or eax, 0xc9a3849a
and eax, 0x53c670f6
imul eax, eax, 0x4f799e86
sub eax, 0x2be72e32
and eax, 0xe765aac3
mov ecx, 0x1d41f4c5
xor edx, edx
div ecx
or eax, 0x8a70f1f0
sub eax, 0xbae667fe
add eax, 0x330b2048
xor eax, 0xf1be0e8
cmp eax, 0xad32b375
ja 0x100917c7
mov eax, dword [0x1014a580]
xor eax, dword [0x1014a584]
xor eax, 0x973a91e5
imul eax, eax, 0x1f368237
or eax, 0x62b6f2e7
mov ecx, 0xa0b881ea
xor edx, edx
div ecx
sub eax, 0xcd2c817a
imul eax, eax, 0xc071de3f
add eax, 0xb688c122
and eax, 0x3b87efbf
or eax, 0x34c7f511
sub eax, 0xe7c0ac1a
or eax, 0x81cea927
xor eax, 0x9aa64e7d
sub eax, 0x2b83fe58
add eax, 0xaad6d11a
or eax, 0x545fb7ac
and eax, 0xf40b123d
mov ecx, 0x4e0a72e6
xor edx, edx
div ecx
sub eax, 0x21d69ab8
mov ecx, 0x216b2e14
xor edx, edx
div ecx
or eax, 0x66eb56f7
add eax, 0x1b7e6c71
xor eax, 0x8132629d
imul eax, eax, 0x779bb498
imul eax, eax, 0xa44d9a0b
or eax, 0xf9a41a79
xor eax, 0xa31d8f16
imul eax, eax, 0x128eb780
add eax, 0x13e6ed12
and eax, 0x3507101e
sub eax, 0xc634eadd
xor eax, 0xcc57dda0
imul eax, eax, 0x44767568
and eax, 0xc6860cff
cmp eax, 0x47883b24
ja 0x100919a7
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1014a588]
xor edx, edx
div dword [0x1014a58c]
imul eax, eax, 0xb231c6c3
imul eax, eax, 0x90e9bbba
or eax, 0xe886f0e1
mov esi, 0x3f385a5f
xor edx, edx
div esi
add eax, 0x9e8eeaca
add eax, 0x22648471
add eax, 0x319245b9
xor eax, 0x55faa85a
add eax, 0xfbcf5f9
add eax, 0xa839fb68
xor eax, 0x53f38003
add eax, 0x17f0f09
imul eax, eax, 0x2fac71a6
or eax, 0x2799a506
and eax, 0xd51af2f2
and eax, 0x97c1acbc
add eax, 0x10a0671b
and eax, 0x5ea9205
mov esi, 0x33d08ec2
xor edx, edx
div esi
add eax, 0xcd11a1fe
add eax, 0xdf57ba03
imul eax, eax, 0x417ecde
mov esi, 0x3573a9ff
xor edx, edx
div esi
mov esi, 0x4fffa77e
xor edx, edx
div esi
sub eax, 0xb44d3dc0
or eax, 0xdeedd8cb
or eax, 0x3578a466
imul eax, eax, 0xbcae2585
imul eax, eax, 0x9d31219a
xor eax, 0x58b5f048
sub eax, 0x4c473750
xor eax, 0xd803f3e8
mov esi, 0xceb784ab
xor edx, edx
div esi
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
cmp eax, 0x111115d4
ja 0x10091458
mov eax, dword [0x1014a590]
sub eax, dword [0x1014a594]
xor eax, 0xf1d9b4a1
sub eax, 0xf4002846
sub eax, 0x45b8eed4
sub eax, 0xb32274e0
imul eax, eax, 0xcb80304e
and eax, 0x105af968
mov ecx, 0xcac854e2
xor edx, edx
div ecx
add eax, 0x7532bdfe
imul eax, eax, 0x8db4b30b
add eax, 0xbd0cc927
xor eax, 0xa14cbf78
imul eax, eax, 0xc4743ce1
add eax, 0xd3224ed6
and eax, 0x22123111
imul eax, eax, 0xf00e7fb9
mov ecx, 0x559d61df
xor edx, edx
div ecx
or eax, 0x832765f6
xor eax, 0xb77b1f34
imul eax, eax, 0x551f6016
sub eax, 0x7f53b3e0
xor eax, 0x12ce3f0f
imul eax, eax, 0xc3a1e6c1
sub eax, 0xd64ee4c0
sub eax, 0x64278f59
mov ecx, 0x32b9fbef
xor edx, edx
div ecx
sub eax, 0x16621507
imul eax, eax, 0x278260fb
and eax, 0xb455ec34
and eax, 0xb9f292ca
and eax, 0x6a8b2f7b
mov ecx, 0xde4d012c
xor edx, edx
div ecx
imul eax, eax, 0x20cb172f
add eax, 0x53ec7131
cmp eax, 0x2903c451
je 0x1009138b
mov eax, dword [0x1014a598]
xor edx, edx
div dword [0x1014a59c]
xor eax, 0xc06f6e4a
or eax, 0xc4312db1
or eax, 0xa9beaeb
imul eax, eax, 0xda4c3816
mov ecx, 0x9566f6e9
xor edx, edx
div ecx
imul eax, eax, 0x59790008
mov ecx, 0xd76c3ff9
xor edx, edx
div ecx
imul eax, eax, 0xd4556663
sub eax, 0x1e860542
imul eax, eax, 0xfe26d9b0
sub eax, 0xc49a67ee
xor eax, 0x8c1d8744
or eax, 0xe114a037
mov ecx, 0xd77bc8d2
xor edx, edx
div ecx
or eax, 0x21be4916
mov ecx, 0x6180b543
xor edx, edx
div ecx
mov ecx, 0x205b4d73
xor edx, edx
div ecx
add eax, 0x12a08df6
and eax, 0x2a1e6e50
imul eax, eax, 0xfc4e20cf
mov ecx, 0xac892d4
xor edx, edx
div ecx
sub eax, 0x24b5893a
xor eax, 0xeaf0f831
xor eax, 0x6248f327
and eax, 0x6f009659
xor eax, 0xb37ba98f
and eax, 0xab430cd5
or eax, 0xe5039ff9
and eax, 0x382c63f0
xor eax, 0x9188cda2
sub eax, 0xd3461643
xor eax, 0xb696833d
and eax, 0xf37ae1aa
cmp eax, 0x4a5a1efa
jbe 0x100919ac
mov eax, dword [0x1014a5a0]
or eax, dword [0x1014a5a4]
mov ecx, 0x6b19520e
xor edx, edx
div ecx
and eax, 0x61b8b7c6
sub eax, 0x21e8f965
sub eax, 0xe3a92d7f
sub eax, 0x73ad0223
xor eax, 0x968a4a04
add eax, 0x3cc912ea
add eax, 0x1b9291f2
add eax, 0x8e102cc7
xor eax, 0xc8b8f743
xor eax, 0xf910a76d
and eax, 0x4450a4d2
mov ecx, 0x3d5e7fa4
xor edx, edx
div ecx
sub eax, 0x82474a75
or eax, 0xc0b9d428
add eax, 0x87881a5f
add eax, 0xc18f57ce
imul eax, eax, 0x10599d9f
sub eax, 0x71b9b08e
imul eax, eax, 0xd67aed3a
mov ecx, 0xc2e6db81
xor edx, edx
div ecx
imul eax, eax, 0x93603ce2
and eax, 0xc67d231c
sub eax, 0x3eb76e8e
add eax, 0x8176754f
mov ecx, 0x2c87b299
xor edx, edx
div ecx
mov ecx, 0x21934e32
xor edx, edx
div ecx
add eax, 0x78c2c07a
xor eax, 0x11be23f3
add eax, 0xdfdbacb2
xor eax, 0x2ddf86b1
mov ecx, 0x1e75a09
xor edx, edx
div ecx
mov ecx, 0xcf8bb22b
xor edx, edx
div ecx
cmp eax, 0x28bfe278
jae 0x100919ac
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x1014a5a8]
add eax, dword [0x1014a5ac]
or eax, 0x1d603f93
xor eax, 0x7cddfd45
xor eax, 0x9718ad02
sub eax, 0xefeab6c4
xor eax, 0x1c21c932
and eax, 0xfdc44be4
sub eax, 0xb71b6b18
mov ecx, 0xf7775e8c
xor edx, edx
div ecx
sub eax, 0x9029c89d
sub eax, 0x31749a9
mov ecx, 0xf8c012f5
xor edx, edx
div ecx
add eax, 0x6d101584
add eax, 0x69179f61
add eax, 0xfd6a682d
xor eax, 0x5e5fbb55
xor eax, 0xd8417527
or eax, 0xe92afd41
and eax, 0xcc8acb67
and eax, 0x82a53271
xor eax, 0xb5db058c
mov ecx, 0x3a1fe3fa
xor edx, edx
div ecx
add eax, 0x546aedaa
imul eax, eax, 0xd07967e1
imul eax, eax, 0xc75c8fd3
sub eax, 0x59fb9c3f
add eax, 0xc91e6cb7
and eax, 0xbbbaf90f
or eax, 0x461e5f09
imul eax, eax, 0x4d7cf59d
sub eax, 0x88038719
mov ecx, 0x9f24583a
xor edx, edx
div ecx
xor eax, 0x333fa486
add eax, 0x4c458626
cmp eax, 0x148100c0
je 0x100919b1
mov eax, dword [0x1014a5b0]
add eax, dword [0x1014a5b4]
imul eax, eax, 0x78ca2c4a
sub eax, 0xb0ce17e0
imul eax, eax, 0xb51483d2
and eax, 0x472a7672
mov ecx, 0x840f01b2
xor edx, edx
div ecx
sub eax, 0x199900f7
or eax, 0x179d5c2e
xor eax, 0x14c4b0c1
or eax, 0xfc5aa264
sub eax, 0xee8977a
imul eax, eax, 0x7031c656
sub eax, 0xdd4d3556
sub eax, 0xb761a760
add eax, 0xb0a7b461
or eax, 0xd1f9b411
mov ecx, 0xa85bca56
xor edx, edx
div ecx
or eax, 0xbd6afa97
sub eax, 0xb8024553
sub eax, 0xc6b38e76
mov ecx, 0xa102f450
xor edx, edx
div ecx
mov ecx, 0x8885f6ee
xor edx, edx
div ecx
and eax, 0xb8a329e3
or eax, 0x9b1d69d3
imul eax, eax, 0xd8057fe3
add eax, 0xa38ebdc0
or eax, 0x60191f72
mov ecx, 0xdf1eaae2
xor edx, edx
div ecx
and eax, 0x3157fcf8
imul eax, eax, 0x81e38b9b
xor eax, 0x6e9a2408
or eax, 0x8e2d4fb4
imul eax, eax, 0x88b00089
or eax, 0xe8dfb7b1
cmp eax, 0x351a78ae
jbe 0x100919b1
jmp 0x1009138b
mov edx, dword [ebp - 8]
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100945a0
jmp 0x10090fd9
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10094a40
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
jmp 0x100911ab
jmp 0x10091458
jmp 0x100916e4
jmp 0x10091895