Function at 0x1008b770
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x101bdbec]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov eax, dword [0x101ba408]
xor edx, edx
div dword [0x101ba40c]
imul eax, eax, 0x6fafbeab
xor eax, 0x2bab56af
add eax, 0xf21d1ee1
or eax, 0xc80f9baf
mov ecx, 0xdbfb58f3
xor edx, edx
div ecx
mov ecx, 0xd112493b
xor edx, edx
div ecx
or eax, 0xf96b7637
xor eax, 0xf58c5506
add eax, 0xc9ff086
xor eax, 0x7eb7ce9
xor eax, 0x9b1c054a
mov ecx, 0x48146aa3
xor edx, edx
div ecx
imul eax, eax, 0xedae2a90
xor eax, 0xdaef0159
and eax, 0xc7259f59
and eax, 0x987fad84
imul eax, eax, 0x53f348dd
mov ecx, 0xbb7c777b
xor edx, edx
div ecx
xor eax, 0x770076fd
imul eax, eax, 0xd397c8b0
imul eax, eax, 0x5377eb84
imul eax, eax, 0xa6ab1cb3
xor eax, 0xa5d6ba7e
mov ecx, 0x401e3a50
xor edx, edx
div ecx
add eax, 0x8d2892d7
add eax, 0xcfe8133f
sub eax, 0x6b24e8d4
sub eax, 0xa35a81fe
and eax, 0xb68ec49c
and eax, 0xa2d56df5
add eax, 0xfaaa314e
or eax, 0xfbae685b
xor eax, 0xba804a6c
sub eax, 0x5d64361
xor eax, 0xe199bc0f
and eax, 0x7eed08be
sub eax, 0xbab1e813
xor eax, 0xf83957a4
cmp eax, 0x561a327b
jb 0x1008bcc6
mov eax, dword [0x101ba410]
or eax, dword [0x101ba414]
sub eax, 0x5cc431ee
or eax, 0x7c2857a2
or eax, 0x44aefc08
sub eax, 0xeaa226f5
xor eax, 0x228bbd29
and eax, 0x281de951
xor eax, 0x38df2f7b
mov ecx, 0xb45c460d
xor edx, edx
div ecx
imul eax, eax, 0xe8868264
xor eax, 0x192d3b22
imul eax, eax, 0x6b1739f0
xor eax, 0xf55c2f89
mov ecx, 0xc04ec2ea
xor edx, edx
div ecx
or eax, 0x970edb11
and eax, 0xa3864cc9
imul eax, eax, 0xf78192a8
add eax, 0xeb1e4da4
add eax, 0x6ee40d2b
or eax, 0x8dad24b7
mov ecx, 0xd28702cc
xor edx, edx
div ecx
or eax, 0x1860f715
xor eax, 0xf284c484
and eax, 0x3b20f90d
sub eax, 0x42b5ec3c
and eax, 0x2a258507
sub eax, 0x9d317153
xor eax, 0x2b731665
or eax, 0xac200ccf
imul eax, eax, 0x51a515c6
mov ecx, 0x1398d371
xor edx, edx
div ecx
and eax, 0x560644d3
xor eax, 0x15128585
xor eax, 0x2d5e7dc7
add eax, 0x2b536bea
xor eax, 0x92fd3952
add eax, 0x22fc2f60
imul eax, eax, 0x287295bf
xor eax, 0xebeca642
cmp eax, 0xc3a74fb7
je 0x1008b87e
mov eax, dword [0x101ba418]
and eax, dword [0x101ba41c]
and eax, 0x197c717f
or eax, 0xd2e6fb98
mov ecx, 0x7ab08246
xor edx, edx
div ecx
and eax, 0xd39af27a
imul eax, eax, 0x27d1b8ae
or eax, 0x1b9aad4
or eax, 0x61e641d1
imul eax, eax, 0x850f4d1d
add eax, 0x86a9a18d
sub eax, 0xa5d31375
mov ecx, 0xae8fdc8a
xor edx, edx
div ecx
and eax, 0xa3914ab0
sub eax, 0x20f0eb6f
mov ecx, 0x6dc9559f
xor edx, edx
div ecx
and eax, 0x68073c6f
and eax, 0xa8a5ed6
sub eax, 0x2643f63c
imul eax, eax, 0xc8bafaf2
and eax, 0xe6fcb57b
or eax, 0x8d864bf3
xor eax, 0xbfef2bfe
xor eax, 0xe081d354
mov ecx, 0x47fda679
xor edx, edx
div ecx
xor eax, 0xba66863e
imul eax, eax, 0xcadefe9c
imul eax, eax, 0xbd6d9b1c
xor eax, 0xb5e6b5f9
and eax, 0x14d733cb
sub eax, 0x8454ac91
or eax, 0xbd95baac
add eax, 0xb9e61d80
add eax, 0x9cbdff29
imul eax, eax, 0x1b637c43
imul eax, eax, 0xe3b078b0
add eax, 0xfc59521d
or eax, 0xd0c4e9fe
imul eax, eax, 0x1c191132
or eax, 0x65a9ceca
cmp eax, 0xf5a23f66
ja 0x1008bacd
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov eax, 0x21dc8e62
mov dword [ebp - 0x1c], eax
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ecx], edi
mov dword [edx], esi
lea esi, [ebp + 0x10]
mov dword [eax], esi
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [edx]
xor esi, esi
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.1015c430
mov ecx, dword [ebp - 0x20]
add esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
cmp eax, 0x7c5d2549
jae 0x1008bacd
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.101626c6
mov eax, dword [ebp - 0x18]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x101ba428]
or eax, dword [0x101ba42c]
imul eax, eax, 0x6bf254ca
sub eax, 0x1b5772af
mov ecx, 0xfbcdf980
xor edx, edx
div ecx
xor eax, 0x34bd84e4
and eax, 0x1c8557b2
xor eax, 0x97a14c51
sub eax, 0xa176f8ba
imul eax, eax, 0xf06a211b
or eax, 0x1c485892
add eax, 0x61e02612
or eax, 0x458b2daf
or eax, 0xbb791494
and eax, 0x1d8f29cd
and eax, 0xf52d6b66
imul eax, eax, 0xb812f6b9
xor eax, 0x53749e26
imul eax, eax, 0x3752e117
and eax, 0xd575cd00
and eax, 0x4ac058c4
mov ecx, 0xb0f4340
xor edx, edx
div ecx
xor eax, 0x9889c6eb
xor eax, 0xe06ac527
add eax, 0xb1aa142b
mov ecx, 0x51f3cc29
xor edx, edx
div ecx
or eax, 0x8952c9ba
add eax, 0xa4ba68c1
or eax, 0x100e5577
mov ecx, 0x9ce3159f
xor edx, edx
div ecx
imul eax, eax, 0x981bcf03
and eax, 0xeb880b47
mov ecx, 0x1f5572bd
xor edx, edx
div ecx
or eax, 0xdf4cac6b
or eax, 0x3954ec1d
and eax, 0x7cda4578
add eax, 0xdd4053ad
imul eax, eax, 0x984a0309
xor eax, 0xba1b4602
imul eax, eax, 0x6982a328
cmp eax, 0xa691bf6f
jb 0x1008bd63
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov eax, 0x9b649606
mov dword [ebp - 0x24], eax
invalid
in eax, dx
cmc
stc
sbb ah, cl
push esp
mov ah, 0xbf
out 0x13, al
mov bh, 0x88
mov esp, edi
add esi, dword [eax + ebx - 0x72]
adc byte [esi + 0x33327e80], ch
ljmp 0x4eb3
and eax, 0x18e94cf1
nop
mov cl, 0xd
and eax, 0x7640636d
xor eax, 0xde3369e7
dec ebp
retf 0x1a4a
sbb edi, ebx
invalid
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
pop ss
add eax, 0x292d631b
int1
xor ecx, dword [ebx + 0x38]
adc dword [edx], esp
mov cl, 0xb8
mov cl, 0x9e
mov edi, 0x94a42755
inc esi
push ss
dec edi
jns 0x1008bdd5
fcom dword [edx + 0x3705924a]
loopne 0x1008bd40
inc esi
xor eax, dword [esi]
xor ah, byte [esi - 0x29c5b37d]
or dword [ebp - 0x1b], 0xd5eb03f2
jbe 0x1008bdff
out dx, al
fisttp qword [edx - 0x50]
jnp 0x1008bd77
pop edi
inc esi
pop ebx
xor dword [edi + 0x5d], ecx
pop es
mov edi, 0x3db649b1
fmulp st(6)
or dword [0x238f5668], 0x547d59cf
mov ecx, esi
xchg esp, eax
cmp al, 0x40
stosb byte es:[edi], al
in al, dx
jae 0x1008be02
imul byte [edx + 0x1d]
jne 0x1008bd61
mov byte [0x2699ddc7], al
jno 0x1008bd5f
std
jmp 0x1008bde6
invalid
jmp 0x5427e5f4
push ebp
test eax, 0xc2018f96
sub eax, 0xefb4d09b
mov esp, 0xabdc10d7
cmp byte [ebx - 0x3d], bh
and dl, dl
dec esi
adc byte [edx - 0x2406708b], cl
mov al, byte [0xf44a03b1]
outsb dx, byte [esi]
invalid
pop dword [ecx]
ret 0x9b2d