Function at 0x432a70
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, 0xa0
mov esi, esp
call fcn.0040edb0
push eax
mov dword [esi + 0x78], esp
sub esp, 0x10
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov ebx, esp
sub esp, 0x10
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x5c], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x50], eax
mov esp, eax
push eax
mov dword [esi + 0x60], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x6c], eax
mov esp, eax
push eax
mov dword [esi + 0x64], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x20], eax
mov esp, eax
push eax
mov dword [esi + 0x68], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x24], eax
mov esp, eax
push eax
mov dword [esi + 0x70], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x28], eax
mov esp, eax
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x54], esp
mov dl, byte [ebx]
mov byte [esi + 0x2c], dl
mov byte [ecx], 0x98
mov byte [ecx + 1], 0x99
mov byte [ecx + 2], 0x9a
mov byte [ecx + 3], 0x5b
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [esi], 0
mov edx, dword [esi]
cmp edx, 0xc
mov dword [esi + 0x4c], edi
jae 0x432b94
mov dword [esi + 0x48], ecx
jmp 0x432b3b
mov ebx, dword [esi]
mov edx, dword [esi]
movzx eax, byte [ecx + edx]
mov edi, ebx
add edi, 0xa21575c4
lea ebx, [ebx + eax - 0x5dea8a3c]
mov edx, eax
not edx
mov ecx, edi
or ecx, edx
mov edx, eax
add edx, ecx
and edi, eax
lea eax, [edi + edx + 1]
mov ecx, eax
xor ecx, ebx
not eax
and ebx, eax
add ebx, ebx
sub ebx, ecx
mov dword [esi + 0x7c], ebx
mov eax, dword [esi + 0x7c]
add al, 0xa4
mov ecx, dword [esi]
mov edx, dword [esi + 0x48]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0x48]
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, 0xc
jb 0x432b3b
mov edi, dword [esi + 0x4c]
jmp 0x432b94
mov eax, dword [esi + 0x5c]
mov al, byte [eax]
mov byte [esi + 0x30], al
mov byte [edi], 0x98
mov byte [edi + 1], 0x99
mov byte [edi + 2], 0x9a
mov byte [edi + 3], 0x5b
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xc
jae 0x432c29
jmp 0x432bca
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov edi, eax
add edi, 0xa21575c4
lea ecx, [eax + edx - 0x5dea8a3c]
mov eax, edx
not eax
mov ebx, edi
or ebx, eax
mov eax, edx
add eax, ebx
and edi, edx
lea eax, [edi + eax + 1]
mov edi, dword [esi + 0x4c]
mov edx, eax
xor edx, ecx
not eax
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esi + 0x80], ecx
mov eax, dword [esi + 0x80]
add al, 0xa4
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, 0xc
jb 0x432bca
jmp 0x432c29
mov eax, dword [edi]
xor ecx, ecx
cpuid
mov edi, dword [esi + 0x1c]
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x60]
mov cl, byte [ecx]
mov byte [esi + 0x34], cl
mov edi, dword [esi + 0x50]
mov byte [edi], 0x7c
mov byte [edi + 1], 0x76
mov byte [edi + 2], 0x69
mov byte [edi + 3], 0x71
mov dword [edi + 4], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 8]
cmp ecx, 8
mov ebx, dword [esi + 0x6c]
jae 0x432cc7
jmp 0x432c75
mov ecx, dword [esi + 8]
mov edx, dword [esi + 8]
movzx edx, byte [edi + edx]
mov edi, ecx
add edi, 0xbe22a745
lea ecx, [ecx + edx - 0x41dd58bb]
and edi, edx
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x50]
mov dword [esi + 0x84], ecx
mov ecx, dword [esi + 0x84]
mov edx, ecx
xor edx, 0x1c
and ecx, 0x1c
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 8]
mov byte [edi + edx], cl
mov ecx, dword [esi + 8]
inc ecx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
cmp ecx, 8
jb 0x432c75
jmp 0x432cc7
cmp eax, dword [edi]
sete al
mov cl, 1
test al, 1
jne 0x432f4d
jmp 0x432cd8
mov eax, dword [esi + 0x1c]
mov edi, dword [eax + 8]
mov eax, dword [esi + 0x64]
mov al, byte [eax]
mov byte [esi + 0x38], al
mov byte [ebx], 0xe3
mov byte [ebx + 1], 0xe6
mov byte [ebx + 2], 0x96
mov byte [ebx + 3], 0xe4
mov eax, ebx
add eax, 4
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00408ea0
add esp, 0xc
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x10
jae 0x432d7b
jmp 0x432d2b
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ebx + ecx]
mov ecx, eax
add ecx, edx
add eax, 0x5a
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0xf49ae95a
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 0x88]
mov ecx, eax
xor ecx, 0x89
and eax, 9
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi + 0xc]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x10
jb 0x432d2b
jmp 0x432d7b
cmp edi, dword [ebx]
sete al
mov cl, 1
test al, 1
jne 0x432f4d
jmp 0x432d8c
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x68]
mov cl, byte [ecx]
mov byte [esi + 0x3c], cl
mov ecx, dword [esi + 0x20]
mov byte [ecx], 0xb8
mov byte [ecx + 1], 0xae
mov byte [ecx + 2], 0x9e
mov byte [ecx + 3], 0x80
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0x10
jae 0x432e16
jmp 0x432dd2
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
movzx edx, byte [ebx + edx]
mov edi, ecx
add edi, 0xd18de309
add ecx, 9
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x8c], edi
mov ecx, dword [esi + 0x8c]
add cl, 0xc1
mov edx, dword [esi + 0x10]
mov byte [ebx + edx], cl
mov ecx, dword [esi + 0x10]
inc ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, 0x10
jb 0x432dd2
jmp 0x432e16
mov cl, 1
mov edx, dword [esi + 0x20]
cmp eax, dword [edx]
je 0x432f4d
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x70]
mov cl, byte [ecx]
mov byte [esi + 0x40], cl
mov ecx, dword [esi + 0x24]
mov byte [ecx], 0x46
mov byte [ecx + 1], 0x73
mov byte [ecx + 2], 0x2d
mov byte [ecx + 3], 0x3b
mov dword [ecx + 4], 0
mov dword [esi + 0x14], 0
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jae 0x432ea3
jmp 0x432e5b
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x24]
movzx edx, byte [ebx + edx]
mov edi, ecx
add edi, 0x52399568
lea ecx, [ecx + edx + 0x52399568]
and edi, edx
add edi, edi
sub ecx, edi
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x90]
add cl, 0x28
mov edx, dword [esi + 0x14]
mov byte [ebx + edx], cl
mov ecx, dword [esi + 0x14]
inc ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x432e5b
jmp 0x432ea3
mov cl, 1
mov edx, dword [esi + 0x24]
cmp eax, dword [edx]
je 0x432f4d
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x74]
mov cl, byte [eax]
mov byte [esi + 0x44], cl
mov eax, dword [esi + 0x28]
mov byte [eax], 0x75
mov byte [eax + 1], 0x76
mov byte [eax + 2], 0x7c
mov byte [eax + 3], 0x80
mov dword [eax + 4], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 8
jae 0x432f45
mov dword [esi + 0x58], edx
jmp 0x432eeb
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x28]
movzx ebx, byte [eax + ecx]
mov edx, edi
add edx, 0x4f31fa05
lea ecx, [edi + ebx + 0x4f31fa05]
and edx, ebx
add edi, 5
and edi, ebx
add edx, edi
mov edi, edx
xor edi, ecx
not edx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0x94], ecx
mov ecx, dword [esi + 0x94]
add cl, 0xdd
mov edx, dword [esi + 0x18]
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x18]
inc ecx
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
cmp ecx, 8
jb 0x432eeb
mov edx, dword [esi + 0x58]
jmp 0x432f45
mov eax, dword [esi + 0x28]
cmp edx, dword [eax]
sete cl
mov eax, dword [esi + 0x78]
test cl, 1
jne 0x432f57
jmp 0x432f65
mov byte [eax], 1
mov ecx, dword [esi + 0x54]
mov dword [ecx], 1
jmp 0x432f73
mov byte [eax], 0
mov ecx, dword [esi + 0x54]
mov dword [ecx], 1
jmp 0x432f73
mov al, byte [eax]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret