Function at 0x434360
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov esi, esp
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x34], eax
mov esp, eax
push eax
mov dword [esi + 0x70], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x7c], eax
mov esp, eax
push eax
mov dword [esi + 0x74], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
push eax
mov dword [esi + 0x78], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x60], eax
mov esp, eax
push eax
mov dword [esi + 0x80], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x64], eax
mov esp, eax
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x68], esp
mov al, byte [esi + 0x3c]
mov byte [esi + 0x40], al
mov byte [esi + 0x20], 0x26
mov byte [esi + 0x21], 0x25
mov byte [esi + 0x22], 0x24
mov byte [esi + 0x23], 0x6b
mov dword [esi + 0x28], 0
mov dword [esi + 0x24], 0
movzx eax, byte [esi + 0x20]
mov ecx, eax
add ecx, ecx
and ecx, 0xa
neg ecx
lea eax, [eax + ecx + 0x8480205]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x20], al
movzx eax, byte [esi + 0x21]
mov ecx, eax
add ecx, ecx
and ecx, 0xc
neg ecx
lea eax, [eax + ecx + 0x8480206]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x21], al
movzx eax, byte [esi + 0x22]
mov ecx, eax
add ecx, ecx
and ecx, 0xe
neg ecx
lea eax, [eax + ecx + 0x8480207]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x22], al
movzx eax, byte [esi + 0x23]
mov ecx, eax
add ecx, ecx
and ecx, 0x10
neg ecx
lea eax, [eax + ecx + 0x8480208]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x23], al
movzx eax, byte [esi + 0x24]
mov ecx, eax
add ecx, ecx
and ecx, 0x12
neg ecx
lea eax, [eax + ecx + 0x8480209]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x24], al
movzx eax, byte [esi + 0x25]
mov ecx, eax
add ecx, ecx
and ecx, 0x14
neg ecx
lea eax, [eax + ecx + 0x848020a]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x25], al
movzx eax, byte [esi + 0x26]
mov ecx, eax
add ecx, ecx
and ecx, 0x16
neg ecx
lea eax, [eax + ecx + 0x848020b]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x26], al
movzx eax, byte [esi + 0x27]
mov ecx, eax
add ecx, ecx
and ecx, 0x18
neg ecx
lea eax, [eax + ecx + 0x848020c]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x27], al
movzx eax, byte [esi + 0x28]
mov ecx, eax
add ecx, ecx
and ecx, 0x1a
neg ecx
lea eax, [eax + ecx + 0x848020d]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x28], al
movzx eax, byte [esi + 0x29]
mov ecx, eax
add ecx, ecx
and ecx, 0x1c
neg ecx
lea eax, [eax + ecx + 0x848020e]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x29], al
movzx eax, byte [esi + 0x2a]
mov ecx, eax
add ecx, ecx
and ecx, 0x1e
neg ecx
lea eax, [eax + ecx + 0x848020f]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x2a], al
movzx eax, byte [esi + 0x2b]
mov ecx, eax
add ecx, ecx
and ecx, 0x20
neg ecx
lea eax, [eax + ecx + 0x8480210]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0xdd
mov byte [esi + 0x2b], al
mov al, byte [esi + 0x38]
mov byte [esi + 0x44], al
mov byte [esi + 0x10], 0x26
mov byte [esi + 0x11], 0x25
mov byte [esi + 0x12], 0x24
mov byte [esi + 0x13], 0x6b
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
movzx eax, byte [esi + 0x10]
mov ecx, eax
add ecx, ecx
and ecx, 0xa
neg ecx
lea eax, [eax + ecx + 0x8480205]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x10], al
movzx eax, byte [esi + 0x11]
mov ecx, eax
add ecx, ecx
and ecx, 0xc
neg ecx
lea eax, [eax + ecx + 0x8480206]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x11], al
movzx eax, byte [esi + 0x12]
mov ecx, eax
add ecx, ecx
and ecx, 0xe
neg ecx
lea eax, [eax + ecx + 0x8480207]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x12], al
movzx eax, byte [esi + 0x13]
mov ecx, eax
add ecx, ecx
and ecx, 0x10
neg ecx
lea eax, [eax + ecx + 0x8480208]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x13], al
movzx eax, byte [esi + 0x14]
mov ecx, eax
add ecx, ecx
and ecx, 0x12
neg ecx
lea eax, [eax + ecx + 0x8480209]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x14], al
movzx eax, byte [esi + 0x15]
mov ecx, eax
add ecx, ecx
and ecx, 0x14
neg ecx
lea eax, [eax + ecx + 0x848020a]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x15], al
movzx eax, byte [esi + 0x16]
mov ecx, eax
add ecx, ecx
and ecx, 0x16
neg ecx
lea eax, [eax + ecx + 0x848020b]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x16], al
movzx eax, byte [esi + 0x17]
mov ecx, eax
add ecx, ecx
and ecx, 0x18
neg ecx
lea eax, [eax + ecx + 0x848020c]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x17], al
movzx eax, byte [esi + 0x18]
mov ecx, eax
add ecx, ecx
and ecx, 0x1a
neg ecx
lea eax, [eax + ecx + 0x848020d]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x19]
mov ecx, eax
add ecx, ecx
and ecx, 0x1c
neg ecx
lea eax, [eax + ecx + 0x848020e]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x19], al
movzx eax, byte [esi + 0x1a]
mov ecx, eax
add ecx, ecx
and ecx, 0x1e
neg ecx
lea eax, [eax + ecx + 0x848020f]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x1a], al
movzx eax, byte [esi + 0x1b]
mov ecx, eax
add ecx, ecx
and ecx, 0x20
neg ecx
lea eax, [eax + ecx + 0x8480210]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xdd
mov byte [esi + 0x1b], al
mov eax, dword [esi + 0x10]
xor ecx, ecx
cpuid
lea edi, [esi + 0x98]
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x70]
mov al, byte [eax]
mov byte [esi + 0x48], al
mov eax, dword [esi + 0x34]
mov byte [eax], 0x7c
mov byte [eax + 1], 0x76
mov byte [eax + 2], 0x69
mov byte [eax + 3], 0x71
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.00408eb0
add esp, 0xc
xor eax, eax
mov ebx, dword [esi + 0x34]
movzx ecx, byte [ebx + eax]
mov edx, eax
add edx, 0x8a439445
lea edi, [eax + ecx - 0x75bc6bbb]
and edx, ecx
add edx, edx
sub edi, edx
mov dword [esi + 0x88], edi
mov ecx, dword [esi + 0x88]
add cl, 0x1d
mov byte [ebx + eax], cl
add eax, 1
cmp eax, 0x10
jne 0x434749
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov cl, 1
cmp dword [esi + 0x6c], eax
je 0x434aa6
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x74]
mov cl, byte [ecx]
mov byte [esi + 0x4c], cl
mov edi, dword [esi + 0x7c]
mov byte [edi], 0xeb
mov byte [edi + 1], 0xec
mov byte [edi + 2], 0x98
mov byte [edi + 3], 0xee
mov word [edi + 8], 0
mov dword [edi + 4], 0
movzx ecx, byte [edi]
mov edx, ecx
and edx, 0x59
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e159]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi], cl
movzx ecx, byte [edi + 1]
mov edx, ecx
and edx, 0x5a
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15a]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 1], cl
movzx ecx, byte [edi + 2]
mov edx, ecx
and edx, 0x5b
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15b]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 2], cl
movzx ecx, byte [edi + 3]
mov edx, ecx
and edx, 0x5c
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 3], cl
movzx ecx, byte [edi + 4]
mov edx, ecx
and edx, 0x5d
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15d]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 4], cl
movzx ecx, byte [edi + 5]
mov edx, ecx
and edx, 0x5e
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15e]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 5], cl
movzx ecx, byte [edi + 6]
mov edx, ecx
and edx, 0x5f
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e15f]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 6], cl
movzx ecx, byte [edi + 7]
mov edx, ecx
and edx, 0x60
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e160]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 7], cl
movzx ecx, byte [edi + 8]
mov edx, ecx
and edx, 0x61
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e161]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 8], cl
movzx ecx, byte [edi + 9]
mov edx, ecx
and edx, 0x62
add edx, edx
neg edx
lea ecx, [ecx + edx + 0x36f6e162]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x91
mov byte [edi + 9], cl
mov cl, 1
cmp eax, dword [edi]
je 0x434aa6
mov edi, dword [esi + 0xa0]
mov eax, dword [esi + 0x78]
mov al, byte [eax]
mov byte [esi + 0x50], al
mov ebx, dword [esi + 0x5c]
mov byte [ebx], 0x80
mov byte [ebx + 1], 0x8e
mov byte [ebx + 2], 0xbe
mov byte [ebx + 3], 0xb8
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], 9
call fcn.00408eb0
add esp, 0xc
xor eax, eax
movzx ecx, byte [ebx + eax]
mov edx, eax
add edx, 0xec3a1a2d
lea ebx, [eax + ecx - 0x13c5e5d3]
and edx, ecx
add edx, edx
sub ebx, edx
mov dword [esi + 0x8c], ebx
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x8c]
add cl, 0xc5
mov byte [ebx + eax], cl
add eax, 1
cmp eax, 0xd
jne 0x43494b
mov cl, 1
cmp edi, dword [ebx]
je 0x434aa6
mov edi, dword [esi + 0xa0]
mov eax, dword [esi + 0x80]
mov al, byte [eax]
mov byte [esi + 0x54], al
mov ebx, dword [esi + 0x60]
mov byte [ebx], 0x66
mov byte [ebx + 1], 0x53
mov byte [ebx + 2], 0x79
mov byte [ebx + 3], 0x83
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], 0xa
call fcn.00408eb0
add esp, 0xc
xor eax, eax
movzx ecx, byte [ebx + eax]
mov edx, eax
add edx, 0x6ced0402
lea ebx, [eax + ecx + 0x6ced0402]
and edx, ecx
add edx, edx
sub ebx, edx
mov dword [esi + 0x90], ebx
mov ebx, dword [esi + 0x60]
mov ecx, dword [esi + 0x90]
add cl, 0xf2
mov byte [ebx + eax], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 0xe
jb 0x4349d5
mov cl, 1
cmp edi, dword [ebx]
je 0x434aa6
mov edi, dword [esi + 0xa0]
mov eax, dword [esi + 0x84]
mov al, byte [eax]
mov byte [esi + 0x58], al
mov ebx, dword [esi + 0x64]
mov byte [ebx], 0xf1
mov byte [ebx + 1], 0xf0
mov byte [ebx + 2], 0xea
mov byte [ebx + 3], 0xe6
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], 0xa
call fcn.00408eb0
add esp, 0xc
xor eax, eax
movzx ecx, byte [ebx + eax]
mov edx, eax
add edx, 0x11e24a96
lea ebx, [eax + ecx + 0x11e24a96]
and edx, ecx
add edx, edx
sub ebx, edx
mov dword [esi + 0x94], ebx
mov ebx, dword [esi + 0x64]
mov ecx, dword [esi + 0x94]
add cl, 0xe6
mov byte [ebx + eax], cl
add eax, 1
cmp eax, 0xe
jne 0x434a69
cmp edi, dword [ebx]
sete cl
jmp 0x434aa6
test cl, 1
jne 0x434aad
jmp 0x434abc
mov byte [esi + 0xf], 1
mov eax, dword [esi + 0x68]
mov dword [eax], 1
jmp 0x434ac9
mov byte [esi + 0xf], 0
mov eax, dword [esi + 0x68]
mov dword [eax], 1
mov al, byte [esi + 0xf]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret