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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov ebx, dword [ebp + 4]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
cmp word [ebx + edx + 2], 0
lea edx, [edx + 2]
jne 0x4216d0
mov edi, dword [ecx + 4]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x4216f0
sar edx, 1
sar esi, 1
lea eax, [edx + 0x1b]
mov ecx, esi
and ecx, eax
xor eax, esi
lea eax, [eax + ecx*2]
test eax, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], esi
jns 0x421720
mov eax, 0xffffffff
jmp 0x421722
add eax, eax
push eax
call fcn.0040c8d0
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 8], 0x1d207e0
mov dword [esp + 0xc], 0xdef03f1
mov dword [esp + 0x10], 0x9fa0fef
mov dword [esp + 0x14], 0x15c50b28
mov dword [esp + 0x18], 0x11ea17ec
mov dword [esp + 0x1c], 0x1de413ff
mov dword [esp + 0x20], 0x19f51fe1
mov dword [esp + 0x24], 0x25ec1be9
mov dword [esp + 0x28], 0x21fb2704
mov dword [esp + 0x2c], 0x2dde23cf
mov dword [esp + 0x30], 0x29c52fd0
mov dword [esp + 0x34], 0x35c32bde
mov dword [esp + 0x38], 0x31d237c9
mov dword [esp + 0x3c], 0x3330
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 8]
mov esi, eax
and esi, 0xc
xor esi, 0x617bf88c
mov edx, eax
and edx, 0x33
sub edx, esi
add edx, 0x1e647acd
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add dl, cl
add dl, 0xbb
mov byte [esp + eax + 8], dl
inc eax
cmp eax, 0x38
jne 0x4217b0
movzx ecx, word [ebx]
mov edx, dword [esp + 0x40]
mov eax, edx
test cx, cx
je 0x421811
add ebx, 2
mov eax, edx
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 0x421800
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x421841
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 0x421830
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x421871
add edi, 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 [edi]
add edi, 2
test cx, cx
jne 0x421860
mov word [eax], 0
mov esi, dword [ebp]
mov eax, 0xfffffffe
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x421880
mov ebp, dword [ebp + 8]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4218a0
mov edx, dword [esp + 0x68]
mov edi, dword [edx]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x4218c0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0x13
test eax, eax
jns 0x4218e4
mov eax, 0xffffffff
jmp 0x4218ed
add ecx, edx
lea eax, [ecx*2 + 0x26]
push eax
call fcn.0040c8d0
add esp, 4
mov ebx, eax
movzx eax, word [esi]
mov dword [esp + 4], ebx
test ax, ax
je 0x421921
add esi, 2
mov ebx, dword [esp + 4]
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [esi]
add esi, 2
test ax, ax
jne 0x421910
mov word [ebx], 0x2f
mov dword [esp + 8], 0x49b14b9d
mov dword [esp + 0xc], 0x45ca47c0
mov dword [esp + 0x10], 0x41d043df
mov dword [esp + 0x14], 0x7de97fcd
mov dword [esp + 0x18], 0x79e87bed
mov dword [esp + 0x1c], 0x75a777f5
mov word [esp + 0x20], 0x7374
mov dword [esp + 0x22], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0x11
mov edx, eax
and edx, 2
mov esi, edx
xor esi, 2
imul esi, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0x13
add edx, esi
add edx, ecx
xor dl, byte [esp + eax + 8]
add dl, 0xa1
mov byte [esp + eax + 8], dl
inc eax
cmp eax, 0x1e
jne 0x421970
add ebx, 2
movzx eax, word [ebp]
test ax, ax
je 0x4219d2
add ebp, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ebp]
add ebp, 2
test ax, ax
jne 0x4219c0
mov word [ebx], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x421a01
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4219f0
mov word [ebx], 0
movzx eax, word [edi]
test ax, ax
je 0x421a31
add edi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [edi]
add edi, 2
test ax, ax
jne 0x421a20
mov word [ebx], 0
mov dword [esp + 8], 0x8186876e
mov byte [esp + 0xc], 0
mov eax, 0x61
mov ecx, 0x9e
nop
nop
nop
movzx esi, byte [esp + eax - 0x59]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x1b
mov byte [esp + eax - 0x59], dl
inc eax
dec ecx
cmp eax, 0x66
jne 0x421a50
lea eax, [esp + 8]
push 0
push 0
push 0xc00000
push eax
mov esi, dword [esp + 0x50]
push esi
push dword [esp + 0x18]
push dword [esp + 0x78]
call fcn.00424c70
add esp, 0x1c
mov byte [esp + 3], al
jmp dword [0x44ba64]