Function at 0x10088f00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x14
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov al, byte [ebp + 8]
mov byte [ebp - 5], al
mov eax, dword [0x1014a058]
sub eax, dword [0x1014a05c]
imul eax, eax, 0x9b94940d
or eax, 0x2546e86e
add eax, 0x3322fe08
add eax, 0x61a3ed24
imul eax, eax, 0x1ab3bedb
and eax, 0xdeb68342
add eax, 0xbb0eb705
add eax, 0x144072c1
add eax, 0x8ef9b897
and eax, 0x7d561bb5
add eax, 0x91fbc5f
imul eax, eax, 0xb01c64c7
sub eax, 0xf1a84ed3
imul eax, eax, 0x43893e95
xor eax, 0x48f48069
imul eax, eax, 0x73d5deee
sub eax, 0x937d1437
imul eax, eax, 0x79205fb8
sub eax, 0x1ab02b22
sub eax, 0xdf3010d0
imul eax, eax, 0xf28777b1
sub eax, 0x899a7c60
sub eax, 0xf3c6329b
add eax, 0x2d54a268
imul eax, eax, 0x6b83e0e3
sub eax, 0x21d76a8e
and eax, 0x15dd09ec
or eax, 0xf1f9e5f8
xor eax, 0x9eb7806b
imul eax, eax, 0x6d2980d2
sub eax, 0x7238f56f
sub eax, 0x9ed54b4b
add eax, 0x158b7c87
cmp eax, 0x5fd89dc9
jb 0x10089624
mov eax, dword [0x1014a060]
imul eax, dword [0x1014a064]
and eax, 0xa4cb9cbc
sub eax, 0xd10f5cdd
and eax, 0x6f3314ba
add eax, 0x9ff5b2c1
sub eax, 0xc3159079
sub eax, 0xe6459949
add eax, 0x189168d
or eax, 0x21a7adb6
mov ecx, 0x39fad7fa
xor edx, edx
div ecx
imul eax, eax, 0x61dfdaac
xor eax, 0xb7350a19
and eax, 0x2793a9d8
or eax, 0x14a49cec
and eax, 0x29bdd6d4
mov ecx, 0xf13d8e84
xor edx, edx
div ecx
add eax, 0x890027ae
xor eax, 0x42a98e51
mov ecx, 0x3720b381
xor edx, edx
div ecx
add eax, 0xd18c92b2
xor eax, 0x75012bc6
mov ecx, 0xad12f4dd
xor edx, edx
div ecx
xor eax, 0xef41f252
mov ecx, 0x393cde30
xor edx, edx
div ecx
and eax, 0x5be637c1
add eax, 0xea4af34a
imul eax, eax, 0xf30472bb
sub eax, 0x5cd63f7b
imul eax, eax, 0x423098b
and eax, 0xb6bc6214
mov ecx, 0x59aa850d
xor edx, edx
div ecx
add eax, 0xf371a46b
xor eax, 0xec35166f
and eax, 0x2a60793e
cmp eax, 0x2bcb8ff9
ja 0x10088fd7
mov eax, dword [0x1014a068]
or eax, dword [0x1014a06c]
imul eax, eax, 0xc46fd301
sub eax, 0x4e6f0a75
imul eax, eax, 0x7cc0be06
imul eax, eax, 0x8c64463
or eax, 0x16db531b
add eax, 0xab7b7f6b
add eax, 0xca50bbda
add eax, 0x90fa9a6c
sub eax, 0xd35e27e5
mov ecx, 0x646da0d2
xor edx, edx
div ecx
or eax, 0x6f842e75
and eax, 0x57be8c1f
and eax, 0x9872545
imul eax, eax, 0xb1708366
add eax, 0xe91dbdbe
mov ecx, 0x8d2b0b88
xor edx, edx
div ecx
mov ecx, 0x151f42b5
xor edx, edx
div ecx
add eax, 0x1336c7c6
or eax, 0x2413bada
imul eax, eax, 0x1ea93911
and eax, 0xd53dae72
xor eax, 0xc54223fb
sub eax, 0x16c4310
and eax, 0x4f94d98b
and eax, 0x72364ea
add eax, 0x9e4acbc8
imul eax, eax, 0x4e518fee
mov ecx, 0x6c6e14b5
xor edx, edx
div ecx
sub eax, 0xc37495fc
and eax, 0xd06d77a4
xor eax, 0x3b20a0ed
and eax, 0x85aac86b
sub eax, 0xef8cb0de
cmp eax, 0x28ddc9bc
ja 0x1008950f
mov eax, dword [0x1014a070]
xor eax, dword [0x1014a074]
sub eax, 0x3f9df46b
xor eax, 0x711a2c4f
or eax, 0x9e484aac
imul eax, eax, 0x33c9edbb
add eax, 0xdc2f704c
add eax, 0xa55c6ff4
sub eax, 0xc2d1abe9
and eax, 0x1331cc99
xor eax, 0xc7c0223c
imul eax, eax, 0xa75c129
xor eax, 0x2ab9346d
or eax, 0x62dc8bcd
or eax, 0x4b2885f1
add eax, 0x9de3df4a
add eax, 0x5db130a9
imul eax, eax, 0x9614b601
sub eax, 0xc5e31541
and eax, 0x1b022022
sub eax, 0xb206296a
imul eax, eax, 0x3f987059
sub eax, 0x1e218729
sub eax, 0x54fd173
sub eax, 0x319e1cd4
imul eax, eax, 0xac4bc2b8
sub eax, 0xd631ff07
mov ecx, 0x8b6c8356
xor edx, edx
div ecx
imul eax, eax, 0xce11d621
or eax, 0x53b0bf64
xor eax, 0x44f284f5
or eax, 0x89e913e9
and eax, 0xa8008d84
xor eax, 0xf5b5f31f
xor eax, 0x993f0b78
cmp eax, 0xd5640600
je 0x10089629
mov dl, byte [ebp - 5]
mov esi, dword [ebp - 0xc]
mov eax, 0xcf5f6767
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov byte [ecx], dl
mov eax, dword [eax]
movsx ecx, byte [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10125980
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, 0xffffffff
setne cl
mov byte [ebp - 0xd], cl
cmp eax, 0x45f99ec7
jbe 0x10089244
mov eax, dword [0x1014a080]
add eax, dword [0x1014a084]
mov ecx, 0xe36e2d1f
xor edx, edx
div ecx
xor eax, 0x508f4318
xor eax, 0x35486651
xor eax, 0xd5ce6aba
imul eax, eax, 0x5b0fceaa
sub eax, 0xa8caf1a3
and eax, 0xe64f5d2d
sub eax, 0x40a417e6
and eax, 0xe20dfafd
xor eax, 0x5038fbde
and eax, 0x6756017d
add eax, 0xad9f5e8e
or eax, 0x4ba0085b
or eax, 0xb3ac35e
and eax, 0x84666c0c
or eax, 0x35c3c72f
and eax, 0xe927c776
and eax, 0xe1dfd322
xor eax, 0x98136312
imul eax, eax, 0xf737c257
mov ecx, 0xb738aa93
xor edx, edx
div ecx
xor eax, 0x43fc2fd8
imul eax, eax, 0x79cd8a49
xor eax, 0xc7817cc6
xor eax, 0xb129ac04
sub eax, 0xdd700091
imul eax, eax, 0xc366604a
xor eax, 0xb7d83687
imul eax, eax, 0x8b044d37
imul eax, eax, 0xe09fd061
sub eax, 0x9667c3aa
or eax, 0x87731498
and eax, 0x68d1b803
cmp eax, 0x8d76dc4c
ja 0x1008917f
mov eax, dword [0x1014a088]
xor eax, dword [0x1014a08c]
add eax, 0x881e39ae
and eax, 0xc65c1021
add eax, 0xabb711dd
xor eax, 0xa8ea7056
imul eax, eax, 0x9567b52d
imul eax, eax, 0x501cddb5
add eax, 0x761db64
add eax, 0xc807a439
add eax, 0x2ae714c6
and eax, 0xbded4f0d
xor eax, 0xa234a21d
mov ecx, 0x16632f69
xor edx, edx
div ecx
mov ecx, 0xa71b2c54
xor edx, edx
div ecx
mov ecx, 0xd9f28bca
xor edx, edx
div ecx
sub eax, 0x221122e2
imul eax, eax, 0x7a304d5f
sub eax, 0xa8328032
imul eax, eax, 0x8da756b4
add eax, 0x409d45bb
or eax, 0x16fc0708
xor eax, 0xf9bbc9ed
or eax, 0x2b845a07
imul eax, eax, 0xffdc837e
and eax, 0x23170939
sub eax, 0x8c93f8ef
mov ecx, 0xb22ccae5
xor edx, edx
div ecx
xor eax, 0xe696ea63
or eax, 0x71b9cdd8
xor eax, 0x8d5112c5
mov ecx, 0x23f1dfb1
xor edx, edx
div ecx
sub eax, 0xb5df9479
add eax, 0x47a58b55
mov ecx, 0x3994ae6c
xor edx, edx
div ecx
cmp eax, 0xc4c16c9f
je 0x10089655
mov eax, dword [0x1014a090]
xor edx, edx
div dword [0x1014a094]
xor eax, 0xfd6f2870
mov ecx, 0xfa24d3bf
xor edx, edx
div ecx
xor eax, 0x98839b9f
add eax, 0xe835071e
and eax, 0xb63b6221
imul eax, eax, 0x4d89b8d
xor eax, 0x8a889228
xor eax, 0x4f429f79
sub eax, 0x6f38a5ff
add eax, 0x12403ca5
mov ecx, 0x507f1cd4
xor edx, edx
div ecx
or eax, 0xef1405bc
add eax, 0x7d98534b
or eax, 0x15810d41
and eax, 0xde2a9450
mov ecx, 0xb90636e0
xor edx, edx
div ecx
and eax, 0x7753cd0e
mov ecx, 0x6fa1e712
xor edx, edx
div ecx
imul eax, eax, 0x122f4fc4
and eax, 0xee11c34a
add eax, 0x2852c05f
add eax, 0x5b866efa
add eax, 0xba03ae19
sub eax, 0x449c4bdb
or eax, 0x13336da8
add eax, 0x15636b50
sub eax, 0xb5f4dc64
and eax, 0x255c8e59
or eax, 0x70789013
or eax, 0x2ecd09df
mov ecx, 0xc35ef9e
xor edx, edx
div ecx
xor eax, 0xf827e974
imul eax, eax, 0x8e0b4eb4
cmp eax, 0x66053b5b
je 0x1008942d
mov al, byte [ebp - 0xd]
and al, 1
movzx eax, al
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x1014a098]
xor eax, dword [0x1014a09c]
xor eax, 0x8f181981
or eax, 0x22aa759
and eax, 0xad61457
or eax, 0x3a52ee3f
or eax, 0x2a9583e9
mov ecx, 0x58bff0c8
xor edx, edx
div ecx
imul eax, eax, 0x4609aa88
and eax, 0x5e894303
sub eax, 0x1039fb8e
mov ecx, 0x1e075422
xor edx, edx
div ecx
or eax, 0x85bcde01
xor eax, 0x5d036777
add eax, 0x36252169
add eax, 0x3d4f906c
and eax, 0x31ed8c40
add eax, 0x242dc148
mov ecx, 0x8b220f18
xor edx, edx
div ecx
imul eax, eax, 0xc4a7d1fe
xor eax, 0x6e36d335
mov ecx, 0xe35bb271
xor edx, edx
div ecx
and eax, 0xb8ebf4c8
xor eax, 0xaa3eaf31
xor eax, 0x2f36d464
add eax, 0x7a953f6b
mov ecx, 0x6a40196b
xor edx, edx
div ecx
add eax, 0xcdb6d44e
sub eax, 0x5bc5a173
or eax, 0x49304efa
sub eax, 0x50ea8353
sub eax, 0xae9a3786
or eax, 0x3bf76fa0
imul eax, eax, 0x3d365b1f
imul eax, eax, 0x682a548e
cmp eax, 0xa0b975db
je 0x1008965a
mov dl, byte [ebp - 5]
mov esi, dword [ebp - 0xc]
mov eax, 0xa94f286
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov byte [ecx], dl
mov eax, dword [eax]
movsx ecx, byte [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10125980
add esp, 8
mov eax, dword [ebp - 0x18]
cmp eax, 0x4fc4d358
ja 0x1008965a
jmp 0x1008917f
jmp 0x10088fd7
mov dl, byte [ebp - 5]
mov esi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov byte [ecx], dl
mov eax, dword [eax]
movsx ecx, byte [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10125980
add esp, 8
jmp 0x10089244
jmp 0x1008942d
mov dl, byte [ebp - 5]
mov esi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov byte [ecx], dl
mov eax, dword [eax]
movsx ecx, byte [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10125980
add esp, 8
jmp 0x100895e2