Function at 0x457200
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, 0x4c
push ebx
push esi
push edi
lea eax, [ebp - 0xc]
mov dword [ebp - 0x38], ecx
push eax
xor ebx, ebx
mov dword [ebp - 0xc], 0
push 8
push 0xffffffffffffffff
xor esi, esi
mov dword [ebp - 0x20], ebx
xor edi, edi
mov dword [ebp - 0x14], 0x200
mov dword [ebp - 0x18], 0x200
mov dword [ebp - 4], ebx
call fcn.00411130
call eax
test eax, eax
jne 0x45751c
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push 1
push dword [ebp - 0xc]
call fcn.00411220
call eax
mov ecx, dword [ebp - 4]
call fcn.004baba0
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x45751c
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push esi
push 1
push dword [ebp - 0xc]
call fcn.00411220
call eax
test eax, eax
jne 0x45751c
mov eax, dword [ebp - 0x18]
lea ecx, [eax + eax]
call fcn.004baba0
mov edi, eax
mov dword [ebp - 8], edi
test edi, edi
je 0x45751c
mov ecx, dword [ebp - 0x14]
add ecx, ecx
call fcn.004baba0
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
je 0x45751c
mov esi, dword [0x4f083c]
test esi, esi
jne 0x457357
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x10], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x457338
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x24]
imul eax, eax, 0x1000193
mov dword [ebp - 0x24], eax
cmp edi, ebx
jne 0x457300
cmp eax, 0x39794115
je 0x457556
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x10], ecx
cmp eax, edx
je 0x457349
cmp dword [ecx + 0x18], 0
jne 0x4572e0
xor esi, esi
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
mov dword [0x4f083c], esi
mov eax, dword [0x4f082c]
test eax, eax
jne 0x4573f4
test esi, esi
je 0x4573e7
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 0x24], eax
cmp eax, esi
je 0x4573e7
xor ecx, ecx
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4573e7
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 0x28], eax
nop dword [eax + eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4573d5
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4573a0
cmp edi, 0x41369537
je 0x457561
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
inc ecx
add eax, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [edx + 0x18]
jne 0x457390
xor eax, eax
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
mov dword [0x4f082c], eax
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push ebx
lea ecx, [ebp - 0x18]
push ecx
push edi
push dword [esi]
push 0
call eax
test eax, eax
je 0x45751c
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x14]
lea ecx, [eax*2 + 0x20]
call fcn.004baba0
mov edx, eax
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
test edx, edx
je 0x45751c
mov ecx, ebx
mov esi, edx
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi], ax
lea esi, [esi + 2]
test ax, ax
jne 0x457440
mov dword [ebp - 0x48], 0x12
mov eax, 0x4e
mov word [ebp - 0x44], ax
mov eax, 0x12
mov word [ebp - 0x42], ax
movzx eax, word [0x4025c4]
xor eax, 0x12
mov word [ebp - 0x40], ax
xor eax, eax
mov word [ebp - 0x3e], ax
xor esi, esi
mov ax, word [ebp - 0x44]
mov ax, word [ebp + esi*2 - 0x44]
movzx ecx, ax
movzx eax, word [ebp - 0x48]
xor ecx, eax
mov word [ebp + esi*2 - 0x44], cx
inc esi
cmp esi, 3
jb 0x457484
xor eax, eax
lea ebx, [ebp - 0x44]
mov word [ebp - 0x3e], ax
mov esi, ebx
nop dword [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4574b0
sub ebx, esi
lea edi, [edx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4574c0
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [ebp - 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
nop
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4574e0
sub ebx, esi
add edx, 0xfffffffe
mov ax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x4574f0
mov ecx, ebx
mov dword [ebp - 0x20], 1
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x45752b
push eax
call fcn.00411310
call eax
test esi, esi
je 0x457536
mov ecx, esi
call fcn.004bb000
test edi, edi
je 0x457541
mov ecx, edi
call fcn.004bb000
test ebx, ebx
je 0x45754c
mov ecx, ebx
call fcn.004bb000
mov eax, dword [ebp - 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
jmp 0x45734b
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4573e9