Function at 0x423000
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x433024]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x44]
xor eax, eax
mov edx, dword [ebp + 0x10]
sub ecx, 0x5c
mov dword [ebp + 0x44], ecx
mov dword [ebp - 0x24], eax
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x28], ebx
push esi
push edi
test edx, edx
jle 0x4231cd
cmp eax, 0x2b
jae 0x4230f4
push ecx
push str.GASfdrtwyefdeytwr
call fcn.00404ba0
mov eax, dword fs:[0x30]
add esp, 8
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x1c], ecx
cmp ecx, esi
je 0x4230b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4230b9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4230b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x423095
cmp esi, 0x1d5f8790
je 0x4230bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x423080
mov eax, dword [eax]
jmp 0x423055
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
push 0
push 0
mov eax, dword [esi + 0x24]
push 0
push 0
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
mov eax, dword [ebp - 0x24]
add ecx, edx
add eax, 4
push eax
push 0
call ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
jne 0x4231be
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x1c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x20], ecx
cmp ecx, edx
je 0x423174
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x423174
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, edx
mov ecx, dword [ebx - 4]
lea ebx, [ebx - 4]
add ecx, edx
dec edi
mov esi, 0x811c9dc5
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x42316d
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 0x423150
cmp esi, 0xb9afd830
je 0x423178
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x423135
mov eax, dword [eax]
jmp 0x423110
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
push 0
push 0
mov eax, dword [esi + 0x24]
push 0x34
push 0
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
push str.GFASrtefdwtrdwe
push 0x434030
call fcn.004010d0
push eax
call fcn.004013a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x423032
test ebx, ebx
jne 0x4231fe
push str.Error_
push 0x434030
call fcn.004010d0
push eax
call fcn.004013a0
add esp, 0xc
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040701a
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x20]
mov eax, edx
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.00407030
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x28]
shld esi, ecx, 2
shl ecx, 2
sub eax, ecx
mov ecx, 0x434030
sbb edx, esi
add eax, dword [ebp + 0x2c]
adc edx, dword [ebp + 0x30]
push edx
push eax
call fcn.004023d0
movups xmm0, xmmword [str.bZGtARYPFAeWG5]
lea eax, [ebp - 0x14]
mov esi, 1
mov edi, 2
mov ebx, 3
xor edx, edx
sub esi, eax
sub edi, eax
sub ebx, eax
movups xmmword [ebp - 0x14], xmm0
mov eax, edx
lea ecx, [ebp - 0x14]
and eax, 3
add ecx, edx
add edx, 4
movzx eax, byte [eax + 0x4243d4]
xor byte [ecx], al
lea eax, [ecx + esi]
and eax, 3
movzx eax, byte [eax + 0x4243d4]
xor byte [ecx + 1], al
lea eax, [ecx + edi]
and eax, 3
movzx eax, byte [eax + 0x4243d4]
xor byte [ecx + 2], al
lea eax, [ecx + ebx]
and eax, 3
movzx eax, byte [eax + 0x4243d4]
xor byte [ecx + 3], al
cmp edx, 0x10
jb 0x423256
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 eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x20], ecx
cmp ecx, esi
je 0x423334
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x423334
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x42332d
nop word [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 0x423310
cmp esi, 0xe463da3c
je 0x423338
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4232f5
mov eax, dword [eax]
jmp 0x4232d0
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
push str.kernel32.dll
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 - 0x18], 0
mov dword [ebp - 0x24], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x1c], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x20], eax
cmp eax, esi
je 0x4233d4
mov edi, dword [eax + 0x18]
test edi, edi
je 0x4233d4
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x4233cd
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 0x4233b0
cmp esi, 0xf8f45725
je 0x4233d8
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x423396
mov ecx, dword [ecx]
jmp 0x423371
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
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 - 0x14]
push ecx
push dword [ebp - 0x24]
add eax, edx
call eax
lea ecx, [ebp - 0x18]
mov dword [0x433f00], eax
push ecx
push 0x40
push dword [ebp + 0xc]
push dword [ebp - 0x28]
call eax
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
push 0
push dword [ebp + 0x54]
call fcn.00407070
mov ecx, dword [ebp - 4]
xor edx, 0
xor eax, dword [ebp + 0x78]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0040701a
mov esp, ebp
pop ebp
ret