Function at 0x4023f0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
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, 0x2868
call fcn.004a2890
mov eax, dword [0x510140]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x513be8]
push esi
push edi
test eax, eax
jne 0x4024e4
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 - 0x2850], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x2840], ecx
cmp ecx, esi
je 0x4024ba
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4024ba
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 - 0x2838], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4024ad
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 0x402490
cmp esi, 0xbc25fccb
je 0x4024be
mov ecx, dword [ebp - 0x2838]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x402470
mov eax, dword [eax]
jmp 0x402440
mov esi, dword [ebp - 0x2840]
mov edx, dword [ebp - 0x2850]
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
mov dword [0x513be8], eax
lea ecx, [ebp - 0x280c]
push ecx
push 0x2000
lea ecx, [ebp - 0x2808]
push ecx
call eax
test eax, eax
je 0x402887
mov eax, dword [ebp - 0x280c]
cmp eax, 0x2000
jae 0x402887
shr eax, 2
xor edi, edi
mov dword [ebp - 0x2860], eax
mov dword [ebp - 0x2840], edi
test eax, eax
je 0x402887
nop dword [eax + eax]
mov eax, dword [0x513be0]
test eax, eax
jne 0x4025fa
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x2854], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x2838], ecx
cmp ecx, edx
je 0x4025ca
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4025ca
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
nop dword [eax + eax]
sub ecx, 4
dec edi
mov dword [ebp - 0x2850], ecx
mov esi, 0x811c9dc5
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x4025bd
nop word [eax + eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x4025a0
cmp esi, 0x3cedbc12
je 0x4025ce
mov ecx, dword [ebp - 0x2850]
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x402580
mov eax, dword [eax]
jmp 0x402550
mov esi, dword [ebp - 0x2838]
mov edx, dword [ebp - 0x2854]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
mov edi, dword [ebp - 0x2840]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x513be0], eax
push 0x800
lea ecx, [ebp - 0x808]
push ecx
push dword [ebp + edi*4 - 0x2808]
call eax
test eax, eax
je 0x402874
xorps xmm0, xmm0
mov dword [ebp - 0x2820], 0
lea ecx, [ebp - 0x808]
movaps xmmword [ebp - 0x2830], xmm0
mov dword [ebp - 0x281c], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402640
sub ecx, edx
lea eax, [ebp - 0x808]
push ecx
push eax
lea ecx, [ebp - 0x2830]
call fcn.004041f0
mov al, 0x3f
mov byte [ebp - 0x284c], 0x4b
mov cl, al
mov byte [ebp - 0x2831], 3
xor al, byte [ebp - 0x284c]
lea esi, [ebp - 0x284b]
xor cl, byte [ebp - 0x284c]
mov dh, 0x29
mov byte [ebp - 0x2839], dh
mov ch, 0x2e
mov dh, byte [ebp - 0x2831]
mov dl, 0x3b
xor dh, byte [ebp - 0x284c]
mov ah, 0xf
mov byte [ebp - 0x284a], al
mov byte [ebp - 0x2849], cl
mov cl, byte [ebp - 0x284c]
mov byte [ebp - 0x283a], 0x3e
xor dl, cl
mov al, byte [ebp - 0x283a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x2831], dh
mov byte [ebp - 0x284b], dh
xor ch, cl
mov dh, byte [ebp - 0x2839]
mov byte [ebp - 0x2844], al
xor dh, cl
mov byte [ebp - 0x283b], 0x2c
mov al, byte [ebp - 0x283b]
xor al, cl
mov byte [ebp - 0x2842], 0
mov byte [ebp - 0x2846], ch
lea ecx, [esi + 1]
mov byte [ebp - 0x2848], dl
mov byte [ebp - 0x2847], ah
mov byte [ebp - 0x2845], dh
mov byte [ebp - 0x2843], al
mov byte [ebp - 0x2842], 0
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x402720
mov edx, dword [ebp - 0x2830]
sub esi, ecx
cmp dword [ebp - 0x281c], 0xf
lea ecx, [ebp - 0x2830]
mov eax, dword [ebp - 0x2820]
cmova ecx, edx
mov dword [ebp - 0x2858], esi
mov dword [ebp - 0x2838], edx
mov dword [ebp - 0x285c], ecx
cmp esi, eax
ja 0x402842
sub eax, esi
test esi, esi
je 0x4028a2
movsx edi, byte [ebp - 0x2831]
lea edx, [ecx + 1]
add edx, eax
mov dword [ebp - 0x2850], edi
mov dword [ebp - 0x2854], edx
sub edx, ecx
push edx
push edi
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x402836
nop dword [eax + eax]
lea edx, [ebp - 0x284b]
mov ecx, edi
sub esi, 4
jb 0x4027c1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4027c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4027b0
cmp esi, 0xfffffffc
je 0x4027fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4027f3
cmp esi, 0xfffffffd
je 0x4027fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4027f3
cmp esi, 0xfffffffe
je 0x4027fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4027f3
cmp esi, 0xffffffff
je 0x4027fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4027fa
sbb eax, eax
or eax, 1
jmp 0x4027fc
xor eax, eax
test eax, eax
je 0x40282b
mov eax, dword [ebp - 0x2854]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x2850]
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, dword [ebp - 0x2858]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4027a0
jmp 0x402836
sub edi, dword [ebp - 0x285c]
cmp edi, 0xffffffff
jne 0x40289c
mov edx, dword [ebp - 0x2838]
mov edi, dword [ebp - 0x2840]
mov eax, dword [ebp - 0x281c]
cmp eax, 0xf
jbe 0x402874
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40286a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4028e9
push ecx
push edx
call fcn.004a18b4
add esp, 8
inc edi
mov dword [ebp - 0x2840], edi
cmp edi, dword [ebp - 0x2860]
jl 0x402530
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a1871
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x2838]
mov eax, dword [ebp - 0x281c]
cmp eax, 0xf
jbe 0x4028d4
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x4028ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4028e9
push ecx
push edx
call fcn.004a18b4
add esp, 8
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
xor ecx, ebp
pop esi
call fcn.004a1871
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3