Function at 0x420e50
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
push esi
push edi
mov dword [esp + 0x2c], edx
xor eax, eax
mov dword [esp + 0x28], ecx
movups xmmword [esp + 0x30], xmm0
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x420e71
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x1c], ecx
cmp ecx, edi
je 0x420f12
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x420f12
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x20], ecx
dec edx
mov edi, 0x28e00d2d
mov dword [esp + 0x18], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x420f07
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x420ed6
mov eax, dword [esp + 0x14]
cmp edi, 0xa0c050bd
je 0x420f19
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x420eb3
mov eax, dword [eax]
jmp 0x420e88
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
nop
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x420f50
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x20], ecx
cmp ecx, edi
je 0x420ff1
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x420ff1
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x24], ecx
dec edx
mov edi, 0xebb5d42
mov dword [esp + 0x14], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x420fe6
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x420fb5
mov eax, dword [esp + 0x18]
cmp edi, 0x2d9a6826
je 0x420ff8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x420f92
mov eax, dword [eax]
jmp 0x420f67
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
mov ecx, dword [esp + 0x28]
call fcn.0041d840
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4214c8
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x421043
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x24], ecx
cmp ecx, edi
je 0x4210e4
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4210e4
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x28], ecx
dec edx
mov edi, 0xb87b245e
mov dword [esp + 0x14], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x4210d9
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x4210a8
mov eax, dword [esp + 0x18]
cmp edi, 0x613f00e2
je 0x4210eb
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x421085
mov eax, dword [eax]
jmp 0x42105a
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x421121
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x24], ecx
cmp ecx, edi
je 0x4211c2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4211c2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x28], ecx
dec edx
mov edi, 0xed9fa579
mov dword [esp + 0x14], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x4211b7
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x421186
mov eax, dword [esp + 0x18]
cmp edi, 0x6a2f0539
je 0x4211c9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x421163
mov eax, dword [eax]
jmp 0x421138
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
lea eax, [eax + ecx*8]
add eax, 0x78
mov dword [esp + 0x20], eax
xor eax, eax
movups xmmword [esp + 0x30], xmm0
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x421211
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x28], ecx
cmp ecx, edi
je 0x4212b2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4212b2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x2c], ecx
dec edx
mov edi, 0x5ca85cf8
mov dword [esp + 0x14], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x4212a7
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x421276
mov eax, dword [esp + 0x18]
cmp edi, 0xed20fcf0
je 0x4212b9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x421253
mov eax, dword [eax]
jmp 0x421228
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
nop
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x4212f0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x28], ecx
cmp ecx, edi
je 0x42139c
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x42139c
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x2c], ecx
dec edx
mov edi, 0xe6de4d0f
mov dword [esp + 0x14], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x421391
mov al, cl
nop dword [eax]
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x421360
mov eax, dword [esp + 0x18]
cmp edi, 0x1b3a6e5b
je 0x4213a3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x421336
mov eax, dword [eax]
jmp 0x421307
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
jne 0x4214d0
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x4213e6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x28], ecx
cmp ecx, esi
je 0x421499
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x421499
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [esp + 0x2c], ecx
mov ecx, 0x96643d8b
dec edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x421491
mov eax, dword [esp + 0x14]
movsx esi, cl
lea edi, [edi + 1]
sub cl, 0x41
mov edx, esi
or edx, 0x20
cmp cl, 0x19
mov cl, byte [edi - 1]
cmova edx, esi
xor edx, eax
imul eax, edx, 0x1000193
test cl, cl
jne 0x421455
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0x9e0c7737
mov eax, dword [esp + 0x18]
je 0x4214a0
mov edx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [esp + 0x2c]
test edx, edx
jne 0x421430
mov eax, dword [eax]
jmp 0x4213fd
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [esp + 0x30]
add eax, edx
push ecx
call eax
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [str.NMNNMNMNMNMNNMM_aD_Rtbut_fcjni_thrudb_ubwht_Jhuwobjb45_dhjjhi_o_a]
xor eax, eax
movups xmmword [esp + 0x30], xmm0
nop
xor byte [esp + eax + 0x30], 7
inc eax
cmp eax, 0x10
jl 0x4214e0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x28], ecx
cmp ecx, edi
je 0x42158c
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x42158c
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x2c], ecx
dec edx
mov edi, 0x96bc8985
mov dword [esp + 0x18], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0x13], cl
test cl, cl
je 0x421581
mov al, cl
nop dword [eax]
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x421550
mov eax, dword [esp + 0x1c]
cmp edi, 0x990837a5
je 0x421593
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x421526
mov eax, dword [eax]
jmp 0x4214f7
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov eax, dword [edi + 0x24]
lea ecx, [eax + ecx*2]
movzx edx, word [ecx + esi]
lea eax, [esp + 0x30]
mov ecx, dword [edi + 0x1c]
push eax
lea ecx, [ecx + edx*4]
mov ecx, dword [ecx + esi]
add ecx, esi
call ecx
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov esp, ebp
pop ebp
ret