Function at 0x433f5d
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, 0xc0
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
xor ecx, ecx
cpuid
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x28]
mov byte [esp + 0x2c], cl
mov byte [esp + 0x80], 0xdc
mov byte [esp + 0x81], 0xe6
mov byte [esp + 0x82], 0xe1
mov byte [esp + 0x83], 0xd9
mov byte [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 9
jae 0x434011
jmp 0x433faa
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx esi, byte [esp + edx + 0x80]
mov edx, ecx
and edx, 0x39d2f6b9
xor ecx, 0x39d2f6b9
lea edx, [ecx + edx*2]
mov ecx, edx
add ecx, esi
and edx, esi
add edx, edx
mov esi, ecx
not esi
mov edi, edx
and edi, esi
not edx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xa8]
add cl, 0xf1
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x80], cl
mov ecx, dword [esp + 4]
inc ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 9
jb 0x433faa
jmp 0x434011
mov edx, dword [esp + 0x80]
mov cl, 1
cmp eax, edx
je 0x4342bf
call fcn.00409270
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x24]
mov byte [esp + 0x30], cl
mov byte [esp + 0x70], 0xb
mov byte [esp + 0x71], 0xf6
mov byte [esp + 0x72], 0xf6
mov byte [esp + 0x73], 4
mov word [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xa
jae 0x4340c3
jmp 0x43406c
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x70]
mov esi, ecx
add esi, 0xf6
mov edi, edx
not edi
mov ebx, esi
or ebx, edi
and esi, edx
add ebx, esi
neg ebx
lea ecx, [ecx + ebx + 0x12a0d1f5]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
add cl, 0x46
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x70], cl
mov ecx, dword [esp + 8]
inc ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, 0xa
jb 0x43406c
jmp 0x4340c3
cmp eax, dword [esp + 0x70]
sete al
mov cl, 1
test al, 1
jne 0x4342bf
jmp 0x4340d6
lea esi, [esp + 0x94]
add esi, 8
jmp 0x4340e2
call fcn.00409270
mov eax, dword [esi]
mov cl, byte [esp + 0x20]
mov byte [esp + 0x34], cl
mov byte [esp + 0x60], 0x8a
mov byte [esp + 0x61], 0xb4
mov byte [esp + 0x62], 0xa4
mov byte [esp + 0x63], 0xae
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
jmp 0x434117
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
jae 0x434176
jmp 0x43412a
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x60]
add ecx, 0x49fa43ac
xor ecx, edx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xb0]
mov edx, ecx
xor edx, 0x4b
and ecx, 0x4b
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x60], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
jb 0x43412a
jmp 0x434176
mov cl, 1
cmp eax, dword [esp + 0x60]
je 0x4342bf
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x1c]
mov byte [esp + 0x38], cl
mov byte [esp + 0x50], 0x36
mov byte [esp + 0x51], 0xb
mov byte [esp + 0x52], 0x61
mov byte [esp + 0x53], 0x6b
mov word [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xa
jae 0x43421e
jmp 0x4341c7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x50]
mov esi, ecx
add esi, edx
add ecx, 0x1e
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xdf33da1e
mov dword [esp + 0xb4], esi
mov ecx, dword [esp + 0xb4]
mov edx, ecx
xor edx, 0x2d
and ecx, 0x2d
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x50], cl
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 0xa
jb 0x4341c7
jmp 0x43421e
mov cl, 1
cmp eax, dword [esp + 0x50]
je 0x4342bf
mov eax, dword [esp + 0x9c]
mov cl, byte [esp + 0x18]
mov byte [esp + 0x3c], cl
mov byte [esp + 0x40], 0x4d
mov byte [esp + 0x41], 0x4c
mov byte [esp + 0x42], 0x5a
mov byte [esp + 0x43], 0x66
mov byte [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 9
jae 0x4342b8
jmp 0x43426d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x40]
mov esi, ecx
add esi, 0x9e4a7240
add ecx, 0x40
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xb8], esi
mov ecx, dword [esp + 0xb8]
add cl, 0x40
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x40], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, 9
jb 0x43426d
jmp 0x4342b8
cmp eax, dword [esp + 0x40]
sete cl
test cl, 1
jne 0x4342c6
jmp 0x4342d8
mov byte [esp + 3], 1
mov dword [esp + 0xa4], 1
jmp 0x4342ea
mov byte [esp + 3], 0
mov dword [esp + 0xa4], 1
jmp 0x4342ea
mov al, byte [esp + 3]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret