Function at 0x4320c0
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, 0x88
mov esi, esp
mov ebx, dword [ebp + 8]
call fcn.004095f0
push eax
mov dword [esi + 0x40], esp
push eax
mov eax, esp
sub esp, 0x10
mov edi, esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x54], ecx
mov esp, ecx
push eax
mov dword [esi + 0x50], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x60], ecx
mov esp, ecx
push eax
mov dword [esi + 0x58], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x24], ecx
mov esp, ecx
push eax
mov dword [esi + 0x5c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x18], ecx
mov esp, ecx
push eax
mov dword [esi + 0x64], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x20], ecx
mov esp, ecx
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x3c], esp
mov dword [eax], ebx
mov eax, dword [eax]
xor ecx, ecx
cpuid
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov dword [esi + 0x1c], edi
mov edx, dword [edi + 8]
mov edi, dword [esi + 0x54]
mov eax, dword [esi + 0x50]
mov cl, byte [eax]
mov byte [esi + 0x28], cl
mov byte [edi], 0xb0
mov byte [edi + 1], 0x86
mov byte [edi + 2], 0x85
mov byte [edi + 3], 0x8d
mov word [edi + 8], 0
mov dword [edi + 4], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xa
jae 0x4321d9
mov dword [esi + 0x48], edx
jmp 0x432192
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx ebx, byte [edi + edx]
add ecx, 0x3bd4535f
mov edx, ecx
and edx, ebx
mov eax, ecx
xor eax, ebx
or ecx, ebx
mov ebx, eax
xor ebx, ecx
lea eax, [eax + edx*2]
add edx, ebx
sub eax, edx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
add al, 0x67
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0xa
jb 0x432192
mov edx, dword [esi + 0x48]
jmp 0x4321d9
cmp edx, dword [edi]
sete al
mov cl, 1
test al, 1
mov ebx, dword [esi + 0x60]
jne 0x432462
jmp 0x4321ed
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x58]
mov cl, byte [ecx]
mov byte [esi + 0x2c], cl
mov byte [ebx], 0x2b
mov byte [ebx + 1], 0x26
mov byte [ebx + 2], 0x26
mov byte [ebx + 3], 0x34
mov word [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 8]
cmp ecx, 0xe
jae 0x43226d
jmp 0x43222f
mov ecx, dword [esi + 8]
mov edx, dword [esi + 8]
movzx edx, byte [ebx + edx]
mov edi, ecx
add edi, 0x1b8405ce
add ecx, 0xce
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x70], edi
mov ecx, dword [esi + 0x70]
add cl, 0x5e
mov edx, dword [esi + 8]
mov byte [ebx + edx], cl
mov ecx, dword [esi + 8]
inc ecx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
cmp ecx, 0xe
jb 0x43222f
jmp 0x43226d
mov cl, 1
cmp eax, dword [ebx]
je 0x432462
mov eax, dword [esi + 0x1c]
add eax, 8
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov cl, byte [ecx]
mov byte [esi + 0x30], cl
mov ecx, dword [esi + 0x24]
mov byte [ecx], 0xe4
mov byte [ecx + 1], 0xfe
mov byte [ecx + 2], 0xe
mov byte [ecx + 3], 4
mov dword [ecx + 0xb], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [esi + 0xc], 0
mov ecx, dword [esi + 0xc]
cmp ecx, 0xf
jae 0x4322fd
jmp 0x4322bf
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0x24]
movzx edx, byte [ebx + edx]
mov edi, ecx
add edi, 0xb2cd2273
add ecx, 0x73
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x74], edi
mov ecx, dword [esi + 0x74]
add cl, 0xdb
mov edx, dword [esi + 0xc]
mov byte [ebx + edx], cl
mov ecx, dword [esi + 0xc]
inc ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
cmp ecx, 0xf
jb 0x4322bf
jmp 0x4322fd
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx]
mov cl, 1
cmp eax, edx
je 0x432462
call fcn.004095f0
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x64]
mov cl, byte [eax]
mov byte [esi + 0x34], cl
mov eax, dword [esi + 0x18]
mov byte [eax], 0xd6
mov byte [eax + 1], 0x23
mov byte [eax + 2], 0xcd
mov byte [eax + 3], 0xfb
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0xa
jae 0x43239e
mov dword [esi + 0x44], edx
jmp 0x432352
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
movzx edx, byte [ecx + edx]
mov ecx, eax
add ecx, 0x50
mov ebx, edx
not ebx
mov edi, ecx
or edi, ebx
and ecx, edx
add edi, ecx
neg edi
lea eax, [eax + edi + 0x7283de4f]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x78]
add al, 0xd0
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
cmp eax, 0xa
jb 0x432352
mov edx, dword [esi + 0x44]
jmp 0x43239e
mov eax, dword [esi + 0x18]
cmp edx, dword [eax]
sete al
mov cl, 1
test al, 1
jne 0x432462
jmp 0x4323b2
call fcn.004095f0
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
mov byte [esi + 0x38], cl
mov eax, dword [esi + 0x20]
mov byte [eax], 0x11
mov byte [eax + 1], 0x16
mov byte [eax + 2], 0x28
mov byte [eax + 3], 0x3c
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 0xa
jae 0x432458
mov dword [esi + 0x4c], edx
jmp 0x4323f8
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x20]
movzx edi, byte [ecx + edx]
mov edx, eax
add edx, 0xa84abcb
mov ecx, eax
add ecx, 0xcb
mov ebx, ecx
and ebx, edi
or edx, ecx
and edx, edi
lea eax, [eax + edi + 0xa84abcb]
add ebx, edx
sub eax, ebx
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
mov ecx, eax
xor ecx, 0x72
and eax, 0x72
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
cmp eax, 0xa
jb 0x4323f8
mov edx, dword [esi + 0x4c]
jmp 0x432458
mov eax, dword [esi + 0x20]
cmp edx, dword [eax]
sete cl
jmp 0x432462
test cl, 1
jne 0x432469
jmp 0x43247a
mov eax, dword [esi + 0x40]
mov byte [eax], 1
mov ecx, dword [esi + 0x3c]
mov dword [ecx], 1
jmp 0x432489
mov eax, dword [esi + 0x40]
mov byte [eax], 0
mov ecx, dword [esi + 0x3c]
mov dword [ecx], 1
mov al, byte [eax]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret