Function at 0x10080eb0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x130
mov esi, esp
mov dword [esi + 0x24], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], eax
movsd xmm0, qword [ebp + 0x1c]
mov al, byte [ebp + 0x18]
mov eax, dword [ebp + 0x14]
lea eax, [ebp + 0xc]
mov dword [esi + 0xa8], eax
mov eax, esp
mov dword [esi + 0x11c], eax
mov dword [esi + 0x128], 0xffffffff
lea eax, [esi + 0x120]
mov dword [esi + 0x124], 0x10096a90
mov edx, dword fs:[0]
mov dword [esi + 0x120], edx
mov dword fs:[0], eax
movsd qword [esi + 0x110], xmm0
mov dword [esi + 0x10c], ecx
mov eax, dword [esi + 0x10c]
mov dword [esi + 0xac], eax
lea ecx, [esi + 0xf4]
call fcn.10009080
mov ecx, dword [ebp + 0x14]
call fcn.1004a3a0
and eax, 0x3000
mov dword [esi + 0xe8], eax
cmp dword [esi + 0xe8], 0x2000
sete al
and al, 1
mov byte [esi + 0xe7], al
cmp dword [esi + 0xe8], 0x3000
sete al
and al, 1
mov byte [esi + 0xe6], al
test byte [esi + 0xe6], 1
je 0x10080ff6
mov ecx, dword [0x10283e7c]
mov eax, dword [0x10283e80]
add ecx, 0x7edbbe2a
sub ecx, eax
sub ecx, 0x7edbbe2a
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0x3b938c59
xor ecx, 0xffffffff
or ecx, 0xc46c73a6
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x73bcc182
or eax, 0x27a8f97c
cmp eax, 0xd0d2b87d
jae 0x10081584
mov edx, 0xffffffff
mov eax, edx
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edx
jmp 0x100810b4
mov eax, dword [0x10283e8c]
xor ecx, ecx
sub ecx, dword [0x10283e90]
sub eax, ecx
add eax, 0x46b93e66
imul eax, eax, 0x3679658e
sub eax, 0x951a7ff
cmp eax, 0x58be46b1
jb 0x10081589
mov eax, dword [0x10283e94]
and eax, dword [0x10283e98]
mov ecx, 0x6354045a
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0xb2acc2e4
xor eax, eax
sub eax, ecx
mov edx, eax
and edx, 0xb9158787
mov ecx, eax
or ecx, 0xb9158787
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x46ea7878
or eax, 0x46ea7878
imul eax, edx
add eax, ecx
mov dword [esi + 0x8c], eax
mov ecx, dword [ebp + 0x14]
call fcn.10089e90
mov ecx, eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edx
cmp eax, 0xe7429eed
jae 0x10081589
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], eax
jmp 0x100810b4
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x84], ecx
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x88]
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xdc], eax
mov edi, dword [esi + 0xe8]
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xdc]
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008f3d0
mov dword [esi + 0x80], eax
mov ecx, dword [esi + 0x80]
mov eax, dword [0x10283eb4]
add eax, dword [0x10283eb8]
mov edi, 0x2e125e74
xor edx, edx
div edi
sub eax, 0x8f737031
add eax, 0x5f031318
add eax, 0x8f737031
mov edx, eax
and edx, 0x62ed555
xor edx, 0xffffffff
add eax, 0x62ed555
add eax, 1
add eax, edx
mov dword [esi + 0xd4], ecx
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0xd0], ecx
mov cl, byte [esi + 0xe7]
mov byte [esi + 0x7f], cl
cmp eax, 0x71d1c996
je 0x1008110b
mov al, byte [esi + 0x7f]
test al, 1
jne 0x1008117f
jmp 0x1008125d
jmp 0x10081184
mov eax, dword [0x10283ec4]
and eax, dword [0x10283ec8]
sub eax, 0x64b6d2d0
sub eax, 0x49281dd9
add eax, 0x64b6d2d0
imul eax, eax, 0x5cdd80d6
or eax, 0x58fd5a9e
movsd xmm0, qword [esi + 0x110]
movaps xmm1, xmmword [0x10227af0]
pand xmm0, xmm1
movsd xmm1, qword [0x10227ae8]
ucomisd xmm0, xmm1
seta cl
mov byte [esi + 0x7e], cl
cmp eax, 0x7733647e
jae 0x10081596
mov al, byte [esi + 0x7e]
test al, 1
jne 0x100811e9
jmp 0x1008125d
movsd xmm0, qword [esi + 0x110]
lea eax, [esi + 0xcc]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call fcn.10200d50
fstp qword [esi + 0xb0]
movsd xmm0, qword [esi + 0xb0]
mov eax, dword [esi + 0xcc]
mov dword [esp], eax
call fcn.101ffe65
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7597
mov ecx, eax
and ecx, 0xffff8a68
imul ecx, edx
mov edx, eax
and edx, 0x7597
or eax, 0x7597
imul eax, edx
add eax, ecx
mov ecx, 0x186a0
cdq
idiv ecx
add eax, dword [esi + 0xd0]
mov dword [esi + 0xd0], eax
mov ecx, dword [0x10283ecc]
mov edx, dword [0x10283ed0]
mov eax, ecx
xor eax, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
or eax, edi
and ecx, edx
xor eax, 0xffffffff
or eax, ecx
add eax, 0x9559b553
xor eax, 0xe274854d
mov ecx, eax
and ecx, 0xb397d438
shl ecx, 1
add eax, 0xb397d438
sub eax, ecx
cmp eax, 0x2e3bc7be
jbe 0x1008159b
mov eax, dword [str..pl_]
add eax, dword [0x10283ed8]
imul eax, eax, 0xf62cad45
mov ecx, 0x6f73180e
xor edx, edx
div ecx
sub eax, 0x21857213
mov ecx, dword [esi + 0xd0]
add ecx, 0x32
mov dword [esi + 0x78], ecx
cmp eax, 0x3224678a
jb 0x1008159b
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x128], 0
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
lea ecx, [esi + 0xf4]
call fcn.1008ab30
sub esp, 8
jmp 0x10081303
movsd xmm0, qword [esi + 0x110]
movsd qword [esp], xmm0
call fcn.1008fd70
and al, 1
mov byte [esi + 0xcb], al
test byte [esi + 0xcb], 1
je 0x10081375
mov eax, dword [0x10283eec]
imul eax, dword [0x10283ef0]
xor eax, 0xffffffff
or eax, 0x981fa787
xor eax, 0xffffffff
add eax, 0x8746ce34
mov ecx, eax
and ecx, 0x1b42f432
mov edx, eax
xor edx, 0xe4bd0bcd
add eax, edx
sub eax, ecx
cmp eax, 0x9df31b79
jbe 0x100815a0
mov ecx, dword [ebp + 0x14]
call fcn.1004a3a0
mov dword [esi + 0x74], eax
jmp 0x10081383
mov ecx, dword [ebp + 0x14]
call fcn.1004a3a0
and eax, 0xffffffef
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0xac]
mov eax, dword [esi + 0x70]
mov edi, dword [0x10283f04]
mov ecx, dword [0x10283f08]
imul edi, ecx
mov ecx, edi
xor ecx, 0x4432282c
xor edi, 0xb1480013
and ecx, 0x46b7ee6c
and edi, 0xb9481193
or ecx, edi
mov edi, ecx
not edi
and edi, 0x11bade48
xor ecx, 0x6e4521b7
lea ecx, [ecx + edi*2]
mov dword [esi + 0x60], ecx
mov dword [esi + 0xc4], eax
movsd xmm0, qword [esi + 0x110]
movsd qword [esi + 0x48], xmm0
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc4]
lea ecx, [esi + 0xec]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.1008afd0
mov dword [esi + 0x44], eax
lea ecx, [esi + 0xf4]
call fcn.10046ff0
mov dword [esi + 0x40], eax
lea ecx, [esi + 0xf4]
xor eax, eax
mov dword [esp], 0
call fcn.100846f0
sub esp, 4
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
movsd xmm0, qword [esi + 0x48]
mov edi, eax
mov eax, dword [esi + 0x54]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movsd qword [esp + 0x10], xmm0
call fcn.10084090
mov dword [esi + 0xc0], eax
mov al, byte [esi + 0xcb]
mov byte [esi + 0x5b], al
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x5c], eax
lea ecx, [esi + 0xf4]
call fcn.10008340
mov ecx, dword [esi + 0xa8]
mov edx, eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x64], edx
mov dl, byte [ebp + 0x18]
mov byte [esi + 0x6b], dl
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x6c], edx
mov edx, dword [ecx]
mov dword [esi + 0xb8], edx
mov ecx, dword [ecx + 4]
mov dword [esi + 0xbc], ecx
cmp eax, 0x466e33e9
jb 0x100815ad
mov edx, dword [esi + 0xa0]
mov edi, dword [esi + 0x6c]
mov bl, byte [esi + 0x6b]
mov cl, byte [esi + 0x5b]
mov dword [esi + 0x128], 0
movsd xmm0, qword [esi + 0xb8]
mov eax, esp
movsd qword [eax + 4], xmm0
movzx ecx, cl
and ecx, 1
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x64]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0xac]
movsx ebx, bl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax], edx
call fcn.1008c730
sub esp, 0x20
jmp 0x1008151b
mov eax, dword [0x10283f14]
mov ecx, dword [0x10283f18]
sub eax, 0x7a56723f
add eax, ecx
add eax, 0x7a56723f
and eax, 0x6921b15b
mov ecx, 0x2a2d2b04
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0x9ba57d02
and eax, ecx
mov dword [esi + 0x3c], eax
lea ecx, [esi + 0xf4]
call fcn.100061b0
mov eax, dword [esi + 0x3c]
cmp eax, 0x4b3df6c6
ja 0x1008151b
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0x120]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
jmp 0x10080fde
mov ecx, dword [ebp + 0x14]
call fcn.10089e90
jmp 0x10081020
jmp 0x10081184
jmp 0x100812a2
mov ecx, dword [ebp + 0x14]
call fcn.1004a3a0
jmp 0x10081365
mov edx, dword [esi + 0xac]
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc4], eax
movsd xmm0, qword [esi + 0x110]
movsd qword [esi + 0x30], xmm0
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xc4]
lea ecx, [esi + 0xec]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.1008afd0
mov dword [esi + 0x2c], eax
lea ecx, [esi + 0xf4]
call fcn.10046ff0
mov dword [esi + 0x28], eax
lea ecx, [esi + 0xf4]
xor eax, eax
mov dword [esp], 0
call fcn.100846f0
sub esp, 4
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
movsd xmm0, qword [esi + 0x30]
mov edi, eax
mov eax, dword [esi + 0x38]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movsd qword [esp + 0x10], xmm0
call fcn.10084090
mov dword [esi + 0xc0], eax
lea ecx, [esi + 0xf4]
call fcn.10008340
mov eax, dword [esi + 0xa8]
mov ecx, dword [eax]
mov dword [esi + 0xb8], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0xbc], eax
jmp 0x10081389