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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
mov ebp, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov ecx, dword [ebp + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x423d10
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423d20
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423d40
mov eax, 0xffffffff
jmp 0x423d49
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c510
add esp, 4
mov esi, eax
mov dword [esp + 0x44], 0xc357c1be
mov dword [esp + 0x48], 0xc7a3c557
mov dword [esp + 0x4c], 0xcb89c95a
mov dword [esp + 0x50], 0xcfa0cda3
mov dword [esp + 0x54], 0xf397f164
mov dword [esp + 0x58], 0xf762f56c
mov dword [esp + 0x5c], 0xfb9ef9b1
mov dword [esp + 0x60], 0xffaafda1
mov dword [esp + 0x64], 0xe3bbe1b2
mov dword [esp + 0x68], 0xe7bfe5b0
mov dword [esp + 0x6c], 0xebbde9be
mov dword [esp + 0x70], 0xefb7edbe
mov dword [esp + 0x74], 0x136e1145
mov dword [esp + 0x78], 0x1772157d
mov dword [esp + 0x7c], 0x1b1a197a
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x50
xor cl, byte [esp + eax + 0x44]
add cl, 0x70
mov byte [esp + eax + 0x44], cl
inc eax
cmp eax, 0x3c
jne 0x423dd0
mov dword [esp], 0xf967fb18
mov dword [esp + 4], 0xe577e764
mov dword [esp + 8], 0xe10de37a
mov dword [esp + 0xc], 0xed05ef09
mov dword [esp + 0x10], 0xe906eb08
mov dword [esp + 0x14], 0x957c9703
mov dword [esp + 0x18], 0x9109937b
mov dword [esp + 0x1c], 0x9d029f04
mov dword [esp + 0x20], 0x99099b78
mov dword [esp + 0x24], 0x85008709
mov dword [esp + 0x28], 0x81698357
mov dword [esp + 0x2c], 0x8d128f18
mov dword [esp + 0x30], 0x89188b67
mov dword [esp + 0x34], 0xb521b715
mov dword [esp + 0x38], 0xb120b325
mov dword [esp + 0x3c], 0xbd6bbf65
mov dword [esp + 0x40], 0xb9babb69
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
and eax, 0x56
mov edx, ecx
xor edx, 0x2b
add edx, eax
xor dl, byte [esp + ecx]
add dl, 0x29
mov byte [esp + ecx], dl
inc ecx
add edi, 2
cmp ecx, 0x44
jne 0x423e80
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x423ec1
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423eb0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x423ef1
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 0x423ee0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423f21
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 0x423f10
mov word [eax], 0
movzx ecx, word [esp + 0x44]
test cx, cx
je 0x423f51
lea edx, [esp + 0x46]
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 0x423f40
mov word [eax], 0
mov eax, dword [esp + 0xa0]
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 0x423f70
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 0x423f90
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 0x423fb0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x423fd4
mov eax, 0xffffffff
jmp 0x423fdd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040c510
add esp, 4
mov edi, eax
mov dword [esp], 0x89358b25
mov dword [esp + 4], 0x8532873c
mov dword [esp + 8], 0x810e833f
mov dword [esp + 0xc], 0x9d6f9f0d
mov word [esp + 0x10], 0x9b9c
mov dword [esp + 0x12], 0
mov byte [esp + 0x16], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0x63
xor cl, byte [esp + eax]
add cl, 0x11
mov byte [esp + eax], cl
inc eax
cmp eax, 0x17
jne 0x424020
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x424061
lea edx, [esp + 2]
mov eax, edi
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 0x424050
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424091
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 0x424080
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x4240c1
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 0x4240b0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x4240f1
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 0x4240e0
mov word [eax], 0
mov dword [esp], 0x939291aa
mov word [esp + 4], 0
mov eax, 0x5d
mov ecx, 0x7674fe23
nop
nop
movzx edx, byte [esp + eax - 0x5d]
lea ebp, [eax - 0x7674fe81]
and ebp, edx
add ebp, ebp
sub ebp, edx
add ebp, ecx
lea ebx, [ecx - 0x7674fe00]
or ebx, ebp
add bl, al
add bl, bl
sub dl, bl
movzx edx, dl
add edx, eax
add dl, 0x33
mov byte [esp + eax - 0x5d], dl
inc eax
dec ecx
cmp eax, 0x63
jne 0x424110
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xac]
call fcn.00424400
add esp, 0x1c
mov ebx, eax
jmp dword [0x44cc08]