Function at 0x46512e
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
push esi
push edi
push ebp
mov eax, 0
push eax
mov eax, 0x4031ac
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031b8
add eax, ebp
pushal
mov edi, eax
mov ecx, 8
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031c0
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031cc
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xa
push ecx
push edi
call fcn.0046552e
popal
mov esi, 0x4031ac
add esi, ebp
push esi
mov esi, 0x4031b8
add esi, ebp
push esi
mov esi, 0x4031c0
add esi, ebp
push esi
mov esi, 0x4031cc
add esi, ebp
push esi
mov ebx, 0
mov ecx, 4
pop esi
push ecx
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push esi
call dword [ebp + 0x402ebe]
cmp eax, 0xffffffff
je 0x464edf
push eax
call dword [ebp + fcn.00402ec6]
inc ebx
pop ecx
dec ecx
cmp ecx, 0
jbe 0x464ee8
jmp 0x464eb7
mov eax, 0x4031ac
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031b8
add eax, ebp
pushal
mov edi, eax
mov ecx, 8
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031c0
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031cc
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xa
push ecx
push edi
call fcn.0046552e
popal
or ebx, ebx
je 0x464f4e
pop eax
or eax, 2
jmp 0x464f4f
pop eax
push eax
mov eax, 0x403202
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xb
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031f9
add eax, ebp
pushal
mov edi, eax
mov ecx, 9
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x40320d
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xa
push ecx
push edi
call fcn.0046552e
popal
mov esi, 0x403202
add esi, ebp
push esi
mov esi, 0x4031f9
add esi, ebp
push esi
mov esi, 0x40320d
add esi, ebp
push esi
mov ebx, 0
mov ecx, 3
pop esi
push ecx
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push esi
call dword [ebp + 0x402ebe]
cmp eax, 0xffffffff
je 0x464fdf
push eax
call dword [ebp + fcn.00402ec6]
inc ebx
pop ecx
dec ecx
cmp ecx, 0
jbe 0x464fe8
jmp 0x464fb7
mov eax, 0x403202
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xb
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x4031f9
add eax, ebp
pushal
mov edi, eax
mov ecx, 9
push ecx
push edi
call fcn.0046552e
popal
mov eax, 0x40320d
add eax, ebp
pushal
mov edi, eax
mov ecx, 0xa
push ecx
push edi
call fcn.0046552e
popal
or ebx, ebx
je 0x46503a
pop eax
or eax, 1
jmp 0x4651bb
mov ebx, 0
lea esi, [ebp + 0x40371c]
push esi
push 0
push 0x80000002
call dword [ebp + 0x402f0a]
or eax, eax
jne 0x4651b3
mov edi, 0x403217
add edi, ebp
pushal
mov edi, edi
mov ecx, 0x3c
push ecx
push edi
call fcn.0046552e
popal
lea esi, [ebp + 0x403720]
push esi
push 0xf003f
push 0
push edi
push dword [ebp + 0x40371c]
call dword [ebp + 0x402f0e]
or eax, eax
jne 0x46509e
inc ebx
push dword [ebp + 0x403720]
call dword [ebp + 0x402f12]
pushal
mov edi, edi
mov ecx, 0x3c
push ecx
push edi
call fcn.0046552e
popal
mov edi, 0x403253
add edi, ebp
pushal
mov edi, edi
mov ecx, 0x18
push ecx
push edi
call fcn.0046552e
popal
lea esi, [ebp + 0x403720]
push esi
push 0xf003f
push 0
push edi
push dword [ebp + 0x40371c]
call dword [ebp + 0x402f0e]
or eax, eax
jne 0x4650f1
inc ebx
push dword [ebp + 0x403720]
call dword [ebp + 0x402f12]
pushal
mov edi, edi
mov ecx, 0x18
push ecx
push edi
call fcn.0046552e
popal
mov edi, 0x40326b
add edi, ebp
pushal
mov edi, edi
mov ecx, 0x41
push ecx
push edi
call fcn.0046552e
popal
lea esi, [ebp + 0x403720]
push esi
push 0xf003f
push 0
push edi
push dword [ebp + 0x40371c]
call dword [ebp + 0x402f0e]
or eax, eax
jne 0x465144
inc ebx
push dword [ebp + 0x403720]
call dword [ebp + 0x402f12]
pushal
mov edi, edi
mov ecx, 0x41
push ecx
push edi
call fcn.0046552e
popal
mov edi, 0x4032ac
add edi, ebp
pushal
mov edi, edi
mov ecx, 0x28
push ecx
push edi
call fcn.0046552e
popal
lea esi, [ebp + 0x403720]
push esi
push 0xf003f
push 0
push edi
push dword [ebp + 0x40371c]
call dword [ebp + 0x402f0e]
or eax, eax
jne 0x465197
inc ebx
push dword [ebp + 0x403720]
call dword [ebp + 0x402f12]
pushal
mov edi, edi
mov ecx, 0x28
push ecx
push edi
call fcn.0046552e
popal
push dword [ebp + 0x40371c]
call dword [ebp + 0x402f12]
pop eax
or ebx, ebx
je 0x4651bb
or eax, 1
push eax
mov esi, 0x4031d6
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xb
push ecx
push edi
call fcn.0046552e
popal
mov ebx, 0
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push esi
call dword [ebp + 0x402ebe]
cmp eax, 0xffffffff
je 0x4651fe
push eax
call dword [ebp + fcn.00402ec6]
inc ebx
mov esi, 0x4031d6
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xb
push ecx
push edi
call fcn.0046552e
popal
pop eax
cmp ebx, 0
jbe 0x46521e
or eax, 4
push eax
mov esi, 0x4031e1
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov ebx, 0
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push esi
call dword [ebp + 0x402ebe]
cmp eax, 0xffffffff
je 0x465261
push eax
call dword [ebp + fcn.00402ec6]
inc ebx
mov esi, 0x4031e1
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
pop eax
cmp ebx, 0
jbe 0x465281
or eax, 8
push eax
mov esi, 0x4031ed
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
mov ebx, 0
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push esi
call dword [ebp + 0x402ebe]
cmp eax, 0xffffffff
je 0x4652c4
push eax
call dword [ebp + fcn.00402ec6]
inc ebx
mov esi, 0x4031ed
add esi, ebp
pushal
mov edi, esi
mov ecx, 0xc
push ecx
push edi
call fcn.0046552e
popal
pop eax
cmp ebx, 0
jbe 0x4652e4
or eax, 0x10
pop ebp
pop edi
pop esi
pop ebx
pop ecx
ret