Function at 0x4238d0
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 0x4238f0
sar eax, 1
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423910
add eax, 0x21
sar ecx, 1
mov edx, ecx
and edx, eax
xor ecx, eax
lea eax, [ecx + edx*2]
add eax, 0x1e
test eax, eax
jns 0x423937
mov eax, 0xffffffff
jmp 0x423941
lea eax, [ecx + edx*2]
lea eax, [eax*2 + 0x3c]
push eax
call fcn.0040c6f0
add esp, 4
mov esi, eax
mov dword [esp + 0x50], 0x1fab19ba
mov dword [esp + 0x54], 0xe3471dab
mov dword [esp + 0x58], 0xe721e156
mov dword [esp + 0x5c], 0xeb58e557
mov dword [esp + 0x60], 0xef4be95c
mov dword [esp + 0x64], 0xf346ed54
mov dword [esp + 0x68], 0xf752f139
mov dword [esp + 0x6c], 0xfb0ef509
mov dword [esp + 0x70], 0xff07f90e
mov dword [esp + 0x74], 0xc33bfd08
mov dword [esp + 0x78], 0xc73dc13a
mov dword [esp + 0x7c], 0xcb33c532
mov dword [esp + 0x80], 0xcf12c93d
mov dword [esp + 0x84], 0xd376cd65
mov dword [esp + 0x88], 0xd7d6d176
mov eax, 0x94e2d2fa
mov ecx, 5
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x6b1d2d56]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
mov edi, edx
not edi
and edi, 0xe3
and edx, 0x1c
sub edx, edi
inc dl
mov byte [esp + eax + 0x6b1d2d56], dl
inc eax
dec ecx
cmp eax, 0x94e2d336
jne 0x4239e0
mov dword [esp + 8], 0x138111f4
mov dword [esp + 0xc], 0x1f891d80
mov dword [esp + 0x10], 0x1bfb198a
mov dword [esp + 0x14], 0x7eb05eb
mov dword [esp + 0x18], 0x3ee01e4
mov dword [esp + 0x1c], 0xfe00de1
mov dword [esp + 0x20], 0xb9709e9
mov dword [esp + 0x24], 0x37aa35a0
mov dword [esp + 0x28], 0x33a731d4
mov dword [esp + 0x2c], 0x3fa43dab
mov dword [esp + 0x30], 0x3bd739ed
mov dword [esp + 0x34], 0x27ba25bc
mov dword [esp + 0x38], 0x23b421cd
mov dword [esp + 0x3c], 0x2fc72dbf
mov dword [esp + 0x40], 0x2bbc29bf
mov dword [esp + 0x44], 0xd7fdd5ff
mov dword [esp + 0x48], 0xd3d2d1fb
mov byte [esp + 0x4c], 0
mov eax, 0xcae1e344
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x351e1cc4]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xac
mov byte [esp + eax + 0x351e1cc4], cl
inc eax
cmp eax, 0xcae1e389
jne 0x423ab0
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x423b01
add ecx, 2
mov eax, esi
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 0x423af0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x423b31
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 0x423b20
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423b61
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 0x423b50
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x423b91
lea edx, [esp + 0x52]
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 0x423b80
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 0x423bb0
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 0x423bd0
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 0x423bf0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
mov dword [esp + 4], esi
jns 0x423c18
mov eax, 0xffffffff
jmp 0x423c21
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040c6f0
add esp, 4
mov dword [esp], eax
mov dword [esp + 8], 0x13b311bf
mov dword [esp + 0xc], 0xef5aed58
mov dword [esp + 0x10], 0xeb66e955
mov dword [esp + 0x14], 0xe711e557
mov word [esp + 0x18], 0xe1e0
mov dword [esp + 0x1a], 0
lea eax, [esp + 8]
xor ebp, ebp
mov esi, 0x7666e87c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebp
and ecx, 0xfffffff8
mov edx, esi
sub edx, ecx
mov ecx, ebp
and ecx, 0x38
mov edi, edx
and edi, ecx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor cl, byte [eax]
add cl, 0x94
mov byte [eax], cl
inc eax
add ebp, 2
inc esi
cmp ebp, 0x2c
jne 0x423c70
movzx ecx, word [esp + 8]
mov ebp, dword [esp]
mov eax, ebp
test cx, cx
mov edi, dword [esp + 0xa8]
je 0x423cd1
lea edx, [esp + 0xa]
mov eax, ebp
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 0x423cc0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 4]
je 0x423d01
add ebx, 2
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 0x423cf0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x423d31
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 0x423d20
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x423d61
add ecx, 2
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 0x423d50
mov word [eax], 0
mov dword [esp + 8], 0x2126277e
mov dword [esp + 0xc], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb9
xor cl, byte [esp + eax + 8]
add cl, 0x63
mov byte [esp + eax + 8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x423d80
lea eax, [esp + 8]
push 0
push 1
push 0
push eax
push esi
push ebp
push dword [esp + 0xb8]
call fcn.00424060
add esp, 0x1c
mov ebx, eax
jmp dword [0x44a754]