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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x42e040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x130], 0x128
push ebx
push esi
mov eax, dword [eax + 0xc]
push edi
mov dword [ebp - 0x144], ecx
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x134], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x140], ecx
cmp ecx, edx
je 0x4057de
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4057de
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x13c], ecx
dec ebx
mov esi, 0x364a11ec
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4057d0
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, esi
ror ecx, 0x13
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor esi, ecx
xor esi, 1
mov ecx, esi
shr ecx, 0x10
xor ecx, esi
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul esi, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x405760
cmp esi, 0xfa0110f2
je 0x4057e5
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x13c]
test ebx, ebx
jne 0x405745
mov eax, dword [eax]
jmp 0x405712
mov esi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x134]
push 0
push 2
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*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 - 0x13c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x138], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x140], eax
cmp eax, esi
je 0x4058ef
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x4058ef
mov eax, dword [eax + 0x20]
lea eax, [eax + ebx*4]
add eax, esi
mov edi, dword [eax - 4]
sub eax, 4
add edi, esi
mov dword [ebp - 0x134], eax
dec ebx
mov esi, 0x62969637
mov al, byte [edi]
inc edi
test al, al
je 0x4058de
movsx edx, al
lea edi, [edi + 1]
imul eax, edx, 0xcc9e2d51
ror eax, 0x11
imul eax, eax, 0x1b873593
xor eax, esi
ror eax, 0x13
add eax, 0xfaddaf14
lea esi, [eax + eax*4]
imul eax, edx, 0x51000000
ror eax, 0x11
imul eax, eax, 0x1b873593
xor esi, eax
xor esi, 1
mov eax, esi
shr eax, 0x10
xor eax, esi
imul edx, eax, 0x85ebca6b
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
imul esi, eax, 0x539
mov al, byte [edi - 1]
test al, al
jne 0x405872
cmp esi, 0x83256061
je 0x4058f6
mov eax, dword [ebp - 0x134]
mov esi, dword [ecx + 0x18]
test ebx, ebx
jne 0x405853
mov ecx, dword [ecx]
jmp 0x405820
mov esi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x138]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x130]
push ecx
push dword [ebp - 0x13c]
add eax, edx
call eax
test eax, eax
jne 0x405a30
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x134], ecx
cmp ecx, edx
je 0x405a10
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405a10
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x138], ecx
dec ebx
mov esi, 0x8255713
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405a02
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, esi
ror ecx, 0x13
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor esi, ecx
xor esi, 1
mov ecx, esi
shr ecx, 0x10
xor ecx, esi
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul esi, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x405992
cmp esi, 0x46014886
je 0x405a17
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x138]
test ebx, ebx
jne 0x405973
mov eax, dword [eax]
jmp 0x405940
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x140]
jmp 0x405db5
lea ecx, [ebp - 0x10c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405a40
mov ebx, dword [ebp - 0x144]
sub ecx, edx
mov edx, ebx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x405a54
sub edx, esi
cmp ecx, edx
mov dword [ebp - 0x134], edx
mov edi, edx
cmovb edi, ecx
xor esi, esi
test edi, edi
je 0x405aa2
mov eax, ebx
lea ebx, [ebp - 0x10c]
sub eax, ebx
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x10c]
add eax, esi
mov bl, byte [eax]
cmp bl, byte [eax + edx]
mov edx, dword [ebp - 0x134]
jl 0x405aac
jg 0x405aac
inc esi
cmp esi, edi
jb 0x405a80
cmp ecx, edx
jb 0x405aac
jbe 0x405cbb
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 - 0x140], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x134], ecx
cmp ecx, edx
je 0x405b8f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405b8f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
dec ebx
mov dword [ebp - 0x138], ecx
mov edi, 0xd13dc1db
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x405b7e
movsx esi, dl
lea ecx, [ecx + 1]
imul edx, esi, 0xcc9e2d51
ror edx, 0x11
imul edx, edx, 0x1b873593
xor edx, edi
ror edx, 0x13
add edx, 0xfaddaf14
lea edi, [edx + edx*4]
imul edx, esi, 0x51000000
ror edx, 0x11
imul edx, edx, 0x1b873593
xor edi, edx
xor edi, 1
mov edx, edi
shr edx, 0x10
xor edx, edi
imul esi, edx, 0x85ebca6b
mov edx, esi
shr edx, 0xd
xor edx, esi
imul esi, edx, 0xc2b2ae35
mov edx, esi
shr edx, 0x10
xor edx, esi
imul edi, edx, 0x539
mov dl, byte [ecx - 1]
test dl, dl
jne 0x405b11
cmp edi, 0x42808342
je 0x405b96
mov ecx, dword [ebp - 0x138]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x405af3
mov eax, dword [eax]
jmp 0x405ac0
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x140]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x130]
push ecx
push dword [ebp - 0x13c]
add eax, edx
call eax
test eax, eax
jne 0x405a30
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x134], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x138], ecx
cmp ecx, edx
je 0x405cb4
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405cb4
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x144], ecx
dec ebx
mov esi, 0x9a108026
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405ca6
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, esi
ror ecx, 0x13
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor esi, ecx
xor esi, 1
mov ecx, esi
shr ecx, 0x10
xor ecx, esi
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul esi, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x405c32
cmp esi, 0xcee41fb4
je 0x405da9
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x144]
test ebx, ebx
jne 0x405c13
mov eax, dword [eax]
jmp 0x405be0
mov eax, dword [ebp - 0x128]
mov dword [0x5abab0], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x134], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x138], ecx
cmp ecx, edx
je 0x405da2
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x405da2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, edx
mov dword [ebp - 0x144], ecx
dec ebx
mov esi, 0x5c16d96c
mov cl, byte [edi]
inc edi
test cl, cl
je 0x405d94
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, esi
ror ecx, 0x13
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor esi, ecx
xor esi, 1
mov ecx, esi
shr ecx, 0x10
xor ecx, esi
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul esi, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x405d24
cmp esi, 0xd846cf5a
je 0x405da9
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x144]
test ebx, ebx
jne 0x405d05
mov eax, dword [eax]
jmp 0x405cd2
mov edx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x138]
mov eax, dword [esi + 0x24]
push dword [ebp - 0x13c]
lea eax, [eax + ebx*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 [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b0b1
mov esp, ebp
pop ebp
ret