Function at 0x420460
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x420480
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x420490
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x4204b0
mov eax, 0xffffffff
jmp 0x4204b9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040cdc0
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0x73cf71d6
mov dword [esp + 0x50], 0x7fd37dcf
mov dword [esp + 0x54], 0x7bb979ca
mov dword [esp + 0x58], 0x47f045f3
mov dword [esp + 0x5c], 0x43ef41fc
mov dword [esp + 0x60], 0x4ff24df4
mov dword [esp + 0x64], 0x4be64981
mov dword [esp + 0x68], 0x57aa5591
mov dword [esp + 0x6c], 0x53ab51a2
mov dword [esp + 0x70], 0x5fa75da0
mov dword [esp + 0x74], 0x5ba559a6
mov dword [esp + 0x78], 0x27df25d6
mov dword [esp + 0x7c], 0x238621dd
mov dword [esp + 0x80], 0x2f822d85
mov dword [esp + 0x84], 0x2b2a298a
mov byte [esp + 0x88], 0
xor eax, eax
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x4c]
lea ecx, [eax - 0x66e7d06c]
xor ecx, edx
mov edx, ecx
not edx
add edx, edx
and edx, 2
sub ecx, edx
add ecx, 0x287121c
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
mov byte [esp + eax + 0x4c], cl
lea ecx, [eax + eax]
and ecx, 2
mov edx, ecx
and edx, eax
or ecx, eax
xor ecx, 1
add ecx, edx
mov eax, ecx
cmp ecx, 0x3d
jb 0x420550
mov dword [esp + 4], 0x4fd949a4
mov dword [esp + 8], 0x43d14dd8
mov dword [esp + 0xc], 0x47a741d6
mov dword [esp + 0x10], 0x7b9f45df
mov dword [esp + 0x14], 0x7f9a7994
mov dword [esp + 0x18], 0x73e87d99
mov dword [esp + 0x1c], 0x77e37191
mov dword [esp + 0x20], 0x6bfe75e8
mov dword [esp + 0x24], 0x6ff36984
mov dword [esp + 0x28], 0x63ec6dff
mov dword [esp + 0x2c], 0x678361bd
mov dword [esp + 0x30], 0x1b8e65ec
mov dword [esp + 0x34], 0x1f8c19fd
mov dword [esp + 0x38], 0x138b1d8b
mov dword [esp + 0x3c], 0x17841183
mov dword [esp + 0x40], 0xbd515cb
mov dword [esp + 0x44], 0xf0e09d7
mov dword [esp + 0x48], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
and edi, 0x24
mov edx, ecx
xor edx, 0x92
add edx, edi
xor dl, byte [esp + ecx + 4]
add dl, 0x26
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 0x48
jne 0x420630
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x420681
add ecx, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x420670
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x4206b1
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4206a0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4206e1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x4206d0
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x420711
lea edx, [esp + 0x4e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420700
mov word [eax], 0
mov eax, dword [esp + 0xac]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x420730
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x420750
mov edi, dword [ebp + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x420770
mov dword [esp], esi
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov esi, ebp
test eax, eax
jns 0x420799
mov eax, 0xffffffff
jmp 0x4207a2
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040cdc0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x19b51b45
mov dword [esp + 8], 0x65d267ac
mov dword [esp + 0xc], 0x61de63cf
mov dword [esp + 0x10], 0x6d1f6fdd
mov dword [esp + 0x14], 0x6b6c
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 4]
lea ebp, [eax + 0x3b]
mov ecx, 0xc4
sub ecx, eax
xor ecx, ebp
and ecx, edx
xor ecx, ebp
add cl, 0xd9
mov byte [esp + eax + 4], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x14
jb 0x4207e0
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x420831
lea edx, [esp + 6]
mov eax, edi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420820
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x420861
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x420850
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x420891
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x420880
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x4208c3
add ecx, 2
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4208b0
jmp 0x4208c6
mov esi, dword [esp]
mov word [eax], 0
mov dword [esp + 4], 0x393a3b6a
mov dword [esp + 8], 0
mov eax, 0xe729840b
movzx ecx, byte [esp + eax + 0x18d67bf9]
xor ecx, eax
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0xc8
mov byte [esp + eax + 0x18d67bf9], cl
inc eax
cmp eax, 0xe7298413
jne 0x4208e0
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb8]
call fcn.00420c10
add esp, 0x1c
mov ebx, eax
jmp dword [0x446e40]