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

Disassembly:
push 0xffffffffffffffff
push 0x1015c0b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
mov eax, 0x179
push ebx
cdq
idiv dword [0x1018c79c]
mov eax, dword [0x1018c798]
push ebp
push esi
push edi
mov dword [esp + 0xa4], 0
mov cl, byte [edx + eax]
mov edx, dword [esp + 0xbc]
lea eax, [esp + 0x24]
push edx
push eax
mov byte [esp + 0x64], cl
call fcn.100ed9e0
add esp, 8
mov esi, eax
mov al, byte [0x1019776c]
mov dword [esp + 0xb0], 1
test al, 1
mov word [esp + 0x10], 0x6f
jne 0x10065aeb
mov bl, al
lea ecx, [esp + 0x10]
or bl, 1
push ecx
mov ecx, 0x10197770
mov byte [0x1019776c], bl
call fcn.100153e0
push 0x10066380
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0xc0]
lea eax, [esp + 0x14]
push edx
push eax
call fcn.10029d20
mov ecx, dword [0x10197770]
lea edx, [esp + 0x50]
push ecx
push eax
push edx
mov byte [esp + 0xc4], 2
call fcn.1000cf10
push esi
push eax
lea eax, [esp + 0x80]
mov byte [esp + 0xcc], 3
push eax
call fcn.1000d050
add esp, 0x20
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0xb4], 7
call fcn.1000bc70
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 6
call fcn.1000bc70
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0xb4], 5
call fcn.1000bc70
mov al, byte [0x1018c7c2]
mov cl, byte [esp + 0x10]
mov byte [0x1018c7c1], al
inc al
mov byte [esp + 0x38], cl
push 0
lea ecx, [esp + 0x3c]
mov byte [0x1018c7c2], al
call fcn.1000bc70
mov al, byte [0x10197774]
mov bl, byte [0x1018c7c0]
mov edi, 0x17
mov ebp, 0xb
test al, 1
mov byte [esp + 0xb0], 8
mov word [esp + 0x24], di
mov word [esp + 0x26], 0x18
mov word [esp + 0x28], 0xf
mov word [esp + 0x2a], 0x26
mov word [esp + 0x2c], 0x1c
mov word [esp + 0x2e], bp
mov word [esp + 0x30], bp
mov word [esp + 0x32], 0x16
mov word [esp + 0x34], bp
jne 0x10065c0f
mov cl, al
lea edx, [esp + 0x24]
or cl, 1
push 0x79
mov byte [0x10197774], cl
push edx
mov ecx, 0x10197778
call fcn.1002a580
push 0x10066390
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov esi, dword [0x10197778]
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x4c], al
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x48]
push eax
push esi
call fcn.1000bf40
lea ecx, [esp + 0x38]
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [0x10191a54]
lea eax, [esp + 0x4c]
push edx
push eax
mov byte [esp + 0xbc], 9
call fcn.10058e70
mov ecx, eax
call fcn.1006dbb0
test al, al
push 1
lea ecx, [esp + 0x4c]
sete byte [esp + 0x14]
mov byte [esp + 0xb4], 8
call fcn.1000bc70
mov al, byte [esp + 0x10]
test al, al
je 0x10066151
mov cl, byte [esp + 0x10]
push 0
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x14]
push eax
push 0x101913e8
call fcn.1000bf40
mov eax, dword [esp + 0xbc]
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
mov byte [esp + 0xbc], 0xa
call fcn.10066c90
add esp, 0xc
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0xc
call fcn.1000bc70
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x10065d51
mov esi, dword [esp + 0xb8]
mov dl, byte [esp + 0x10]
push 0
mov ecx, esi
mov byte [esi], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
mov edi, eax
mov ecx, esi
push 1
push edi
call fcn.1000c010
test al, al
je 0x10065d44
mov eax, dword [esi + 4]
push edi
push 0x101913e8
push eax
call fcn.100017d0
add esp, 0xc
mov ecx, esi
push edi
call fcn.1000bff0
mov dword [esp + 0xa4], 1
jmp 0x10065dc3
lea eax, [esp + 0x38]
lea ecx, [esp + 0x48]
push eax
push ecx
call fcn.1008c780
add esp, 8
test al, al
jne 0x10065e01
mov esi, dword [esp + 0xb8]
mov dl, byte [esp + 0x10]
push 0
mov ecx, esi
mov byte [esi], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
mov edi, eax
mov ecx, esi
push 1
push edi
call fcn.1000c010
test al, al
je 0x10065db8
mov eax, dword [esi + 4]
push edi
push 0x101913e8
push eax
call fcn.100017d0
add esp, 0xc
mov ecx, esi
push edi
call fcn.1000bff0
mov dword [esp + 0xa4], 1
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0xb4], 8
call fcn.1000bc70
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 5
call fcn.1000bc70
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0xb4], 0
call fcn.1000bc70
jmp 0x10066354
mov eax, 0x3a
mov esi, 0x1d
mov word [esp + 0x7c], ax
mov word [esp + 0x92], ax
mov al, byte [0x1019779c]
mov ecx, 2
test al, 1
mov word [esp + 0x74], 0x5e
mov word [esp + 0x76], 0xf
mov word [esp + 0x78], di
mov word [esp + 0x7a], 0x29
mov word [esp + 0x7e], di
mov word [esp + 0x80], 0
mov word [esp + 0x82], si
mov word [esp + 0x84], si
mov word [esp + 0x86], 0x2d
mov word [esp + 0x88], 0x3c
mov word [esp + 0x8a], cx
mov word [esp + 0x8c], cx
mov word [esp + 0x8e], bp
mov word [esp + 0x90], 0xd
mov word [esp + 0x94], 0x2b
mov word [esp + 0x96], si
mov word [esp + 0x98], 4
mov word [esp + 0x9a], 8
mov word [esp + 0x9c], 0xa
mov word [esp + 0x9e], 0x1a
mov word [esp + 0xa0], 1
jne 0x10065efc
or al, 1
mov ecx, 0x101977a0
mov byte [0x1019779c], al
lea eax, [esp + 0x74]
push eax
call fcn.10067260
push 0x10067770
call fcn.1013c36b
add esp, 4
mov ebp, dword [0x101977a0]
push 0
mov dword [esp + 0x14], ebp
mov cl, byte [esp + 0x14]
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
call fcn.1000bc70
push ebp
call fcn.1013c2c2
add esp, 4
mov ebp, eax
lea ecx, [esp + 0x14]
push 1
push ebp
call fcn.1000c010
test al, al
je 0x10065f51
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push ebp
push edx
push eax
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push ebp
call fcn.1000bff0
lea ecx, [esp + 0x14]
push 0
push ecx
mov ecx, dword [0x10191a54]
mov byte [esp + 0xb8], 0xd
call fcn.10058e60
mov ecx, eax
call fcn.10067e70
push 1
lea ecx, [esp + 0x18]
mov ebp, eax
mov byte [esp + 0xb4], 0xc
call fcn.1000bc70
mov al, byte [esp + 0x5c]
mov cl, al
add al, 0xfe
sub bl, al
mov eax, 0x16
cdq
idiv dword [0x1018c79c]
mov eax, dword [0x1018c798]
push ecx
sub bl, 0x47
push ebx
mov cl, byte [edx + eax]
push ecx
push 0x1b
push 0x2e
push 0xffffffffffffffe4
push 0x5a
call fcn.10064eb0
add esp, 8
sub al, 0x1d
push eax
mov eax, 0x1b0
cdq
idiv dword [0x1018c79c]
mov eax, dword [0x1018c798]
mov cl, byte [edx + eax]
push ecx
push 0xffffffffffffffa8
call fcn.10064e90
add esp, 0x10
push eax
call fcn.10064730
add esp, 0xc
push eax
push 0xf
call fcn.10064e90
mov al, byte [0x1019777c]
add esp, 0x10
test al, 1
mov word [esp + 0x24], 0x5e
mov word [esp + 0x26], 0xf
mov word [esp + 0x28], di
mov word [esp + 0x2a], 0x29
mov word [esp + 0x2c], 0x3a
mov word [esp + 0x2e], di
mov word [esp + 0x30], 0
mov word [esp + 0x32], si
mov word [esp + 0x34], si
jne 0x10066058
mov bl, al
lea edx, [esp + 0x24]
or bl, 1
push edx
mov ecx, 0x10197780
mov byte [0x1019777c], bl
call fcn.100440f0
push 0x100663a0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov edi, dword [0x10197780]
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100660a5
mov ecx, dword [esp + 0x18]
push esi
push edi
push ecx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push esi
call fcn.1000bff0
lea ebp, [ebp + ebp*2]
lea eax, [esp + 0x38]
lea ecx, [esp + 0x64]
mov byte [esp + 0xb0], 0xe
lea edx, [ebp + ebp*4]
shl edx, 2
push edx
push eax
lea edx, [esp + 0x1c]
push ecx
mov ecx, dword [0x10191a54]
push edx
call fcn.10058e70
mov ecx, eax
call fcn.1006dde0
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0xc
call fcn.1000bc70
mov eax, 0x2dc
push 0xffffffffffffffb4
cdq
idiv dword [0x1018c79c]
mov eax, dword [0x1018c798]
push 5
mov cl, byte [edx + eax]
push ecx
call fcn.10064eb0
add esp, 8
push eax
mov eax, 0x2f5
cdq
idiv dword [0x1018c79c]
mov eax, dword [0x1018c798]
mov cl, byte [edx + eax]
push ecx
push 0xffffffffffffff95
push 0x28
call fcn.10064700
add esp, 4
push eax
call fcn.10066370
add esp, 0x14
mov byte [0x1018c7c1], al
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 8
push 1
call fcn.1000bc70
mov al, byte [0x10197784]
mov word [esp + 0x58], 0xe6
test al, 1
mov word [esp + 0x5a], 0xe8
mov word [esp + 0x5c], 0xef
mov word [esp + 0x5e], 0xf1
mov word [esp + 0x60], 0xe0
jne 0x100661e8
mov bl, al
push 0xc
or bl, 1
mov byte [0x10197784], bl
call fcn.1013c2df
add esp, 4
mov dword [0x10197788], eax
xor esi, esi
mov di, word [esp + esi + 0x58]
push 0x9d
mov edx, edi
mov ecx, 0x10197788
and edx, 0xffff
push edx
call fcn.100a8ee0
mov ecx, dword [0x10197788]
add eax, 0x9d
xor eax, edi
mov word [esi + ecx], ax
add esi, 2
cmp esi, 0xa
jb 0x10066199
mov edx, dword [0x10197788]
push 0x100663b0
mov word [edx + 0xa], 0
call fcn.1013c36b
add esp, 4
mov edi, dword [0x10197788]
mov al, byte [esp + 0x10]
xor esi, esi
push edi
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x14]
push eax
push edi
call fcn.1000bf40
mov eax, dword [esp + 0x40]
xor ebp, ebp
xor ebx, ebx
cmp eax, ebp
mov byte [esp + 0xb0], 0xf
jbe 0x1006627d
mov edi, dword [esp + 0xc4]
cmp ebx, 0xffffffff
jae 0x1006627d
mov eax, dword [esp + 0x18]
cmp eax, ebp
jne 0x10066245
mov eax, 0x1016a1d8
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push eax
lea ecx, [esp + 0x44]
call fcn.10023f20
mov esi, eax
cmp esi, 0xffffffff
je 0x1006627d
mov edx, dword [esp + 0x1c]
push 0xffffffffffffffff
push ebp
push edi
push edx
push esi
lea ecx, [esp + 0x4c]
inc ebx
call fcn.10067520
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x40]
add esi, ecx
cmp esi, eax
jb 0x10066233
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xb0], 8
cmp ecx, ebp
je 0x100662ab
mov al, byte [ecx - 1]
test al, al
je 0x1006629f
cmp al, 0xff
je 0x1006629f
dec al
mov byte [ecx - 1], al
jmp 0x100662ab
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov esi, dword [esp + 0xb8]
mov al, byte [esp + 0x38]
lea edx, [esp + 0x38]
mov byte [esi], al
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
mov ecx, dword [0x1016a210]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.1000ba60
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa4], 1
cmp ecx, ebp
mov byte [esp + 0xb0], 5
je 0x1006630e
mov al, byte [ecx - 1]
test al, al
je 0x10066302
cmp al, 0xff
je 0x10066302
dec al
mov byte [ecx - 1], al
jmp 0x1006630e
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
cmp ecx, ebp
mov byte [esp + 0xb0], 0
je 0x10066348
mov al, byte [ecx - 1]
test al, al
je 0x1006633c
cmp al, 0xff
je 0x1006633c
dec al
mov byte [ecx - 1], al
jmp 0x10066348
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov ecx, dword [esp + 0xa8]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xa4
ret