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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
mov ecx, dword [ebx + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4209f0
cmp eax, 0xffffffdd
jge 0x420a07
mov eax, 0xffffffff
jmp 0x420a0a
add eax, 0x22
push eax
call fcn.0040c690
add esp, 4
mov esi, eax
mov dword [esp + 8], 0x3fa93984
mov dword [esp + 0xc], 0x23b13da8
mov dword [esp + 0x10], 0x278721b6
mov dword [esp + 0x14], 0x2b8f258f
mov dword [esp + 0x18], 0x2f8a2994
mov dword [esp + 0x1c], 0x13b82d89
mov dword [esp + 0x20], 0x178311b1
mov dword [esp + 0x24], 0x1b8e15b8
mov word [esp + 0x28], 0x1918
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x420ac1
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x4369c9ca
add eax, eax
and eax, 0x86d39394
mov ebp, eax
and ebp, edx
xor eax, edx
lea eax, [eax + ebp*2]
xor eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x420a80
mov ecx, dword [ebx + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x420af1
add ecx, 2
mov eax, esi
nop
nop
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 0x420ae0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420b21
lea edx, [esp + 0xa]
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 0x420b10
mov word [eax], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
mov dword [esp + 8], 0xf365f165
mov dword [esp + 0xc], 0xef3bed66
mov dword [esp + 0x10], 0xeb62e975
mov dword [esp + 0x14], 0xe77be568
mov dword [esp + 0x18], 0xe371e176
mov dword [esp + 0x1c], 0x9f099d05
mov dword [esp + 0x20], 0x9b41990e
mov dword [esp + 0x24], 0x974d954f
mov dword [esp + 0x28], 0x9374914a
mov dword [esp + 0x2c], 0x8f1d8d01
mov dword [esp + 0x30], 0x8b188915
mov dword [esp + 0x34], 0x87118547
mov dword [esp + 0x38], 0x830e8116
mov dword [esp + 0x3c], 0xbf36bd21
mov dword [esp + 0x40], 0xbb43b934
mov dword [esp + 0x44], 0xb773b528
mov dword [esp + 0x48], 0xb3b2b16a
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x43
ja 0x420c28
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0xcc75b4ac
and eax, 0xcc75b4ac
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
mov ecx, eax
not ecx
and ecx, 0x5c
and eax, 0xa3
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x44
jb 0x420be0
lea eax, [esp + 0x4c]
lea ecx, [esp + 8]
push eax
push 0x420ee0
push ecx
push esi
call fcn.00421700
add esp, 0x10
jmp dword [0x44a408]