Function at 0x422da0
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
sub esp, 0x1c
mov eax, dword fs:[0x30]
push ebx
push esi
push edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 4], eax
mov edx, eax
mov dword [ebp - 8], ecx
mov ebx, dword [ecx + 0x18]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + ebx + 0x78]
add eax, ebx
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x422e23
mov esi, dword [eax + 0x18]
test esi, esi
je 0x422e23
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x422e19
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x422df8
cmp edx, 0x21ddcd8b
je 0x423000
test esi, esi
jne 0x422de3
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x422e34
cmp dword [ecx + 0x18], 0
jne 0x422dc1
xor eax, eax
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
mov ebx, dword [ecx + 0x18]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + ebx + 0x78]
add eax, ebx
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x422ebb
mov esi, dword [eax + 0x18]
test esi, esi
je 0x422ebb
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x422eb1
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x422e90
cmp edx, 0xc5f6a8e5
je 0x42301d
test esi, esi
jne 0x422e74
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x422ecc
cmp dword [ecx + 0x18], 0
jne 0x422e52
xor edi, edi
movups xmm4, xmmword [0x499e00]
mov dword [ebp - 0x1c], 0x8bd2cce6
xor ebx, ebx
mov dword [ebp - 0x18], 0xdbc1dffc
mov dword [ebp - 0x14], 0xdac6d2d5
mov dword [ebp - 0x10], 0x100dbdb
lea ecx, [ebx - 0x56]
lea esi, [ebx - 0x58]
movd xmm0, ecx
movd xmm3, esi
lea eax, [ebx - 0x55]
punpckldq xmm3, xmm0
lea edx, [ebx - 0x57]
movd xmm0, dword [ebp + ebx - 0x1c]
punpcklbw xmm0, xmm0
movd xmm2, eax
movd xmm1, edx
punpcklwd xmm0, xmm0
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
psrad xmm0, 0x18
xorps xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd dword [ebp + ebx - 0x1c], xmm3
add ebx, 4
cmp ebx, 0xc
jb 0x422ef3
cmp ebx, 0xe
jae 0x422f5d
nop
lea eax, [ebx - 0x58]
xor byte [ebp + ebx - 0x1c], al
inc ebx
cmp ebx, 0xe
jb 0x422f50
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xd], 0
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop
mov ebx, dword [ecx + 0x18]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + ebx + 0x78]
add eax, ebx
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x422fde
mov esi, dword [eax + 0x18]
test esi, esi
je 0x422fde
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov eax, dword [edi - 4]
lea edi, [edi - 4]
add eax, ebx
dec esi
mov edx, 0x811c9dc5
mov cl, byte [eax]
inc eax
test cl, cl
je 0x422fd4
movsx ecx, cl
lea eax, [eax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [eax - 1]
test cl, cl
jne 0x422fb7
cmp edx, 0x5056df37
je 0x42303a
test esi, esi
jne 0x422fa2
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x422fef
cmp dword [ecx + 0x18], 0
jne 0x422f80
xor eax, eax
call eax
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x422e36
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + ebx]
add edi, ebx
jmp 0x422ece
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
neg eax
pop edi
sbb eax, eax
pop esi
neg eax
pop ebx
mov esp, ebp
pop ebp
ret