Function at 0x424220
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 [0x43b024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x28], ebx
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 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
test edx, edx
jle 0x42440d
cmp eax, 0x2b
jae 0x42433f
push ecx
push str.GASfdrtwyefdeytwr
call fcn.00404c20
mov eax, dword fs:[0x30]
add esp, 8
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
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 0x424304
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x424304
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 0x4242fd
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 0x4242e0
cmp esi, 0x1d5f8790
je 0x424308
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4242c5
mov eax, dword [eax]
jmp 0x4242a0
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 0x4243fe
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
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 0x4243b4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4243b4
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 0x4243ad
nop dword [eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x424390
cmp esi, 0xb9afd830
je 0x4243b8
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x424378
mov eax, dword [eax]
jmp 0x424353
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 0x43c030
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 0x424275
test ebx, ebx
jne 0x42443e
push str.Error_
push 0x43c030
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.0040709a
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x20]
mov eax, edx
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.004070b0
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x28]
shld esi, ecx, 2
shl ecx, 2
sub eax, ecx
mov ecx, 0x43c030
sbb edx, esi
add eax, dword [ebp + 0x2c]
adc edx, dword [ebp + 0x30]
push edx
push eax
call fcn.004023e0
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 + 0x42b3e4]
xor byte [ecx], al
lea eax, [ecx + esi]
and eax, 3
movzx eax, byte [eax + 0x42b3e4]
xor byte [ecx + 1], al
lea eax, [ecx + edi]
and eax, 3
movzx eax, byte [eax + 0x42b3e4]
xor byte [ecx + 2], al
lea eax, [ecx + ebx]
and eax, 3
movzx eax, byte [eax + 0x42b3e4]
xor byte [ecx + 3], al
cmp edx, 0x10
jb 0x424496
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 0x424574
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x424574
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 0x42456d
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 0x424550
cmp esi, 0xe463da3c
je 0x424578
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x424535
mov eax, dword [eax]
jmp 0x424510
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 0x424614
mov edi, dword [eax + 0x18]
test edi, edi
je 0x424614
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 0x42460d
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 0x4245f0
cmp esi, 0xf8f45725
je 0x424618
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x4245d6
mov ecx, dword [ecx]
jmp 0x4245b1
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 [0x43bf00], 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.00407110
mov ecx, dword [ebp - 4]
xor edx, 0
xor eax, dword [ebp + 0x78]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0040709a
mov esp, ebp
pop ebp
ret