Function at 0x423f20
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 0x423f40
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423f50
sar eax, 1
sar ecx, 1
add eax, ecx
add eax, 0x51c95821
mov ecx, eax
and ecx, 0x1e
or eax, 0x1e
lea edx, [eax + ecx]
add edx, 0xae36a800
test edx, edx
jns 0x423f82
mov eax, 0xffffffff
jmp 0x423f8b
add eax, ecx
lea eax, [eax*2 + 0x5c6d5000]
push eax
call fcn.00408810
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0x833781de
mov dword [esp + 0x50], 0x87238537
mov dword [esp + 0x54], 0x8bc9893a
mov dword [esp + 0x58], 0x8f208d23
mov dword [esp + 0x5c], 0x93379124
mov dword [esp + 0x60], 0x9722952c
mov dword [esp + 0x64], 0x9b3e99d1
mov dword [esp + 0x68], 0x9fea9de1
mov dword [esp + 0x6c], 0xe39be192
mov dword [esp + 0x70], 0xe79fe590
mov dword [esp + 0x74], 0xeb9de99e
mov dword [esp + 0x78], 0xef97ed9e
mov dword [esp + 0x7c], 0xf3aef185
mov dword [esp + 0x80], 0xf752f55d
mov dword [esp + 0x84], 0xfbfaf95a
mov word [esp + 0x88], 0
mov byte [esp + 0x8a], 0
mov eax, 0x20
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x2c]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x60
mov byte [esp + eax + 0x2c], cl
inc eax
cmp eax, 0x5f
jne 0x424030
mov dword [esp], 0x813b8720
mov dword [esp + 4], 0x8d33833c
mov dword [esp + 8], 0x892d8f3e
mov dword [esp + 0xc], 0x95258b21
mov dword [esp + 0x10], 0x913a9730
mov dword [esp + 0x14], 0x9d3c933f
mov dword [esp + 0x18], 0x99219f3f
mov dword [esp + 0x1c], 0x65269b2c
mov dword [esp + 0x20], 0x61d167c0
mov dword [esp + 0x24], 0x6dd863d1
mov dword [esp + 0x28], 0x69c16f9b
mov dword [esp + 0x2c], 0x75d66bd0
mov dword [esp + 0x30], 0x71c077db
mov dword [esp + 0x34], 0x7dd973cd
mov dword [esp + 0x38], 0x79c87fcd
mov dword [esp + 0x3c], 0x458f7b8d
mov dword [esp + 0x40], 0x414647b1
mov byte [esp + 0x44], 0
mov eax, 0xe1
mov ecx, 0x1e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0xe1]
mov edi, eax
or edi, edx
not edx
or edx, ecx
and edx, edi
add dl, 0x9b
mov byte [esp + eax - 0xe1], dl
inc eax
dec ecx
cmp eax, 0x126
jne 0x4240f0
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x424141
add ecx, 2
mov eax, esi
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 0x424130
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x424171
lea edx, [esp + 2]
nop
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 0x424160
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4241a1
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 0x424190
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x4241d1
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 0x4241c0
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 0x4241f0
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 0x424210
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 0x424230
mov dword [esp + 0x48], esi
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x424258
mov eax, 0xffffffff
jmp 0x424261
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408810
add esp, 4
mov edi, eax
mov dword [esp], 0x59fd5bed
mov dword [esp + 4], 0x5de25fe4
mov dword [esp + 8], 0x51e653e7
mov dword [esp + 0xc], 0x552757e5
mov word [esp + 0x10], 0xab54
mov dword [esp + 0x12], 0
mov word [esp + 0x16], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax]
mov ebp, eax
xor ebp, 0xa47b7d11
lea esi, [eax + eax]
mov ecx, esi
and ecx, 0x1c
sub ecx, ebp
xor ecx, edx
mov edx, ecx
or edx, 0x54
add edx, ecx
not ecx
or ecx, 0x54
add edx, ecx
add dl, 2
mov byte [esp + eax], dl
and esi, 2
xor eax, 1
add eax, esi
cmp eax, 0x18
jb 0x4242b0
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x424311
lea edx, [esp + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424300
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0xa8]
je 0x424341
add ebx, 2
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x424330
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x424371
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 0x424360
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x4243a1
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 0x424390
mov word [eax], 0
mov dword [esp], 0x999a9baa
mov word [esp + 4], 0
mov byte [esp + 6], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x5b
xor cl, byte [esp + eax]
add cl, 0x39
mov byte [esp + eax], cl
inc eax
cmp eax, 7
jne 0x4243c0
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb8]
call fcn.004246c0
add esp, 0x1c
mov ebx, eax
jmp dword [0x449178]