Function at 0x406370
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
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 0x422281
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x248
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
cmp byte [0x5accb0], 0
jne 0x4067e3
nop
xor edi, edi
mov dword [ebp - 0x14c], edi
nop dword [eax + eax]
mov dword [ebp - 0x1c0], 0x48f40e0c
lea edx, [ebp - 0x220]
mov dword [ebp - 0x1bc], 0x26aa39ff
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x1c8], 0xe5fb3386
mov dword [ebp - 0x1c4], 0x2c2cb86a
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x1d0], 0x21955901
mov dword [ebp - 0x1cc], 0x41c4508b
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d8], 0x979455a6
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x1d4], 0x2c2cb84a
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
movaps xmm1, xmmword [ebp - 0x220]
mov dword [ebp - 0x244], ecx
mov ecx, 0x5abfb8
mov dword [ebp - 0x248], eax
xorps xmm1, xmmword [ebp - 0x250]
movaps xmmword [ebp - 0x220], xmm1
call fcn.00409670
mov dword [ebp - 0x1e0], 0x53f6304c
mov esi, eax
mov dword [ebp - 0x1dc], 0x2dab26e4
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], edx
lea edx, [ebp - 0x230]
mov dword [ebp - 0x1e8], 0xf2ba26d2
mov dword [ebp - 0x1e4], 0x2c2cdd32
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x1f0], 0x21955901
mov dword [ebp - 0x1ec], 0x41c4508b
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1f8], 0x979455a6
mov dword [ebp - 0x1f4], 0x2c2cb84a
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
movaps xmm1, xmmword [ebp - 0x230]
mov dword [ebp - 0x194], ecx
mov ecx, esi
mov dword [ebp - 0x198], eax
xorps xmm1, xmmword [ebp - 0x1a0]
movaps xmmword [ebp - 0x230], xmm1
call fcn.00409670
mov edx, 0x42b098
mov ecx, eax
call fcn.00409670
mov dl, byte [edi + str.___string_too_long]
mov ecx, eax
call fcn.00409920
mov edx, 0x42b098
mov ecx, eax
call fcn.00409670
mov dword [ebp - 0x200], 0x53f6304c
mov dword [ebp - 0x1fc], 0x2dab26e4
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x208], 0xf2ba26d2
mov dword [ebp - 0x204], 0x2c2cdd32
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x210], 0x21955901
mov dword [ebp - 0x20c], 0x41c4508b
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x158], 0x979455a6
mov dword [ebp - 0x154], 0x2c2cb84a
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
movaps xmm1, xmmword [ebp - 0x240]
mov dword [ebp - 0x174], ecx
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x178], eax
xorps xmm1, xmmword [ebp - 0x180]
movaps xmmword [ebp - 0x240], xmm1
call fcn.004056e0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x150], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x40677b
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x40677b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
dec edx
sub ecx, 4
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x15c], ecx
mov edx, dword [ecx]
mov ecx, 0x3f3d5a8c
add edx, esi
mov al, byte [edx]
inc edx
mov dword [ebp - 0x1b4], edx
mov dl, al
mov byte [ebp - 0x169], al
mov eax, dword [ebp - 0x164]
test dl, dl
je 0x406767
mov eax, dword [ebp - 0x1b4]
movsx esi, dl
lea eax, [eax + 1]
imul edx, esi, 0xcc9e2d51
ror edx, 0x11
imul edi, edx, 0x1b873593
imul edx, esi, 0x51000000
xor ecx, edi
ror ecx, 0x13
add ecx, 0xfaddaf14
ror edx, 0x11
imul esi, edx, 0x1b873593
lea edx, [ecx + ecx*4]
xor edx, esi
xor edx, 1
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
imul ecx, edx, 0x539
mov dl, byte [eax - 1]
test dl, dl
jne 0x4066f1
mov eax, dword [ebp - 0x164]
cmp ecx, 0x7d15aef
je 0x406782
mov esi, dword [eax + 0x18]
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x15c]
test edx, edx
jne 0x4066b3
mov eax, dword [eax]
jmp 0x40667a
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x150]
mov edx, dword [ebp - 0x168]
push 0xfa
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
call eax
mov edi, dword [ebp - 0x14c]
inc edi
mov dword [ebp - 0x14c], edi
cmp edi, 4
jl 0x4063d0
cmp dword [0x5abab0], 0xffffffff
jne 0x4067dc
cmp byte [0x5accb0], 0
je 0x4063c0
jmp 0x4067e3
mov byte [0x5accb0], 1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x4068f4
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4068f4
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
mov ecx, 0x3acea367
dec edx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x168], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4068e6
mov eax, dword [ebp - 0x164]
nop dword [eax]
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul esi, ecx, 0x1b873593
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, eax
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
xor edx, esi
xor edx, 1
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
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 eax, ecx, 0x539
mov cl, byte [edi - 1]
test cl, cl
jne 0x406860
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0x2cf7f9b3
mov eax, dword [ebp - 0x14c]
je 0x4068fb
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x150]
test edx, edx
jne 0x406828
mov eax, dword [eax]
jmp 0x4067ef
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x15c]
push 0x1f4
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
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x406a34
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x406a34
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
mov ecx, 0x9bfd974
dec edx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x168], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406a26
mov eax, dword [ebp - 0x164]
nop word [eax + eax]
movsx edx, cl
lea edi, [edi + 1]
imul ecx, edx, 0x51000000
ror ecx, 0x11
imul esi, ecx, 0x1b873593
imul ecx, edx, 0xcc9e2d51
ror ecx, 0x11
imul ecx, ecx, 0x1b873593
xor ecx, eax
ror ecx, 0x13
add ecx, 0xfaddaf14
lea edx, [ecx + ecx*4]
xor edx, esi
xor edx, 1
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul edx, ecx, 0xc2b2ae35
mov ecx, edx
shr ecx, 0x10
xor edx, ecx
mov cl, byte [edi - 1]
imul eax, edx, 0x539
test cl, cl
jne 0x4069a0
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0xf368e5a1
mov eax, dword [ebp - 0x14c]
je 0x406a3b
mov edx, dword [ebp - 0x168]
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x150]
test edx, edx
jne 0x406966
mov eax, dword [eax]
jmp 0x40692d
mov esi, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x168]
push 0x104
mov eax, dword [esi + 0x24]
add eax, edx
movzx ecx, word [eax + ecx*2]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x120]
push ecx
add eax, edx
push 0
call eax
test eax, eax
je 0x406a7c
cmp eax, 0x104
jb 0x406a80
mov byte [ebp - 0x1d], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x148], xmm0
movups xmmword [ebp - 0x138], xmm0
movq qword [ebp - 0x128], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x158], 0x4fe13865
mov dword [ebp - 0x154], 0x24a337e2
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x158], 0xf0f53dd4
mov dword [ebp - 0x154], 0x4b44dc39
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x158], 0x3c0b7e7a
mov dword [ebp - 0x154], 0x7ba50d75
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x158], 0xa948588
mov dword [ebp - 0x154], 0x23415b34
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x158], 0x21955901
mov dword [ebp - 0x154], 0x41c4508b
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x158], 0x979455a6
mov dword [ebp - 0x154], 0x2c2cb84a
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x158], 0x3c6f0d1b
mov dword [ebp - 0x154], 0x7ba50d75
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x158], 0xa948588
mov dword [ebp - 0x154], 0x23415b34
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
movaps xmm1, xmmword [ebp - 0x1b0]
xorps xmm1, xmmword [ebp - 0x190]
mov dword [ebp - 0x194], ecx
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x198], eax
lea edx, [ecx + 1]
movaps xmmword [ebp - 0x190], xmm1
movaps xmm1, xmmword [ebp - 0x1a0]
xorps xmm1, xmmword [ebp - 0x180]
movaps xmmword [ebp - 0x180], xmm1
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c50
sub ecx, edx
lea eax, [ebp - 0x190]
push ecx
push eax
lea ecx, [ebp - 0x1a8]
call fcn.00409e90
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x188]
call fcn.00408900
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x148]
call fcn.00408900
mov byte [ebp - 4], 0
mov ecx, 0x200
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], ecx
mov byte [ebp - 0x128], 1
cmp eax, 0xf
jbe 0x406cfd
mov edx, dword [ebp - 0x188]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x406ced
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4074a4
push ecx
push edx
call fcn.0040b0f9
mov ecx, dword [ebp - 0x12c]
add esp, 8
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x148]
cmp dword [ebp - 0x134], 0xf
cmova eax, dword [ebp - 0x148]
push eax
push ecx
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x124], eax
test eax, eax
je 0x407489
push dword [ebp - 0x12c]
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x407489
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x194]
cmp ecx, 0xf
jbe 0x406db3
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406da9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4074a9
push ecx
push edx
call fcn.0040b0f9
add esp, 8
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x120]
xorps xmm0, xmm0
mov dword [ebp - 0x178], 0
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x174], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406de1
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x188]
call fcn.00409e90
mov edx, dword [ebp - 0x130]
lea ecx, [ebp - 0x188]
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x188]
mov al, byte [edx]
not al
and al, 1
add al, 2
cmp edi, 0xf
mov byte [edx], al
mov eax, dword [ebp - 0x178]
cmova ecx, esi
push eax
mov dword [edx + 1], eax
lea eax, [edx + 5]
push ecx
push eax
call fcn.0040c890
add esp, 0xc
cmp edi, 0xf
jbe 0x406e6c
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x406e62
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4074a9
push ecx
push esi
call fcn.0040b0f9
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x406f58
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x406f58
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
dec edx
mov esi, 0xe5d11cdf
mov dword [ebp - 0x14c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x406f47
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 0x406ed4
cmp esi, 0xdce3a695
je 0x406f5f
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x406eb3
mov eax, dword [eax]
jmp 0x406e80
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
push dword [0x5abab0]
mov eax, dword [esi + 0x24]
push 0
push 0x1fffff
lea eax, [eax + ecx*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 - 0x168], eax
test eax, eax
jne 0x4070e1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x407088
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x407088
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
dec edx
mov esi, 0x9f7e63c6
mov dword [ebp - 0x14c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x407077
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 0x407004
cmp esi, 0x21356283
je 0x40708f
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x406fe3
mov eax, dword [eax]
jmp 0x406fb0
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*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
lea ecx, [ebp - 0x148]
call fcn.00406300
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
push 0
push 0
push 0x17d000
mov edx, 0x42eab0
mov ecx, eax
call fcn.00404000
add esp, 0xc
test al, al
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jne 0x407223
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x4071e8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4071e8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
dec edx
mov esi, 0xa2b13aa9
mov dword [ebp - 0x14c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4071d7
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 0x407164
cmp esi, 0xf6360b3f
je 0x4071ef
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x407143
mov eax, dword [eax]
jmp 0x407110
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
push dword [ebp - 0x168]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*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
jmp 0x4070b8
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x407304
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x407304
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
dec edx
mov esi, 0xb2a1c944
mov dword [ebp - 0x14c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4072f3
nop dword [eax + eax]
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 0x407280
cmp esi, 0xc9809729
je 0x40730b
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x407256
mov eax, dword [eax]
jmp 0x407223
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
push dword [ebp - 0x168]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*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 word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x15c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x407428
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x407428
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x150], ecx
dec edx
mov esi, 0x534213bd
mov dword [ebp - 0x14c], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x407417
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 0x4073a4
cmp esi, 0xd9f526e0
je 0x40742f
mov edx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov esi, dword [eax + 0x18]
test edx, edx
jne 0x407383
mov eax, dword [eax]
jmp 0x407350
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x15c]
push 0xbb8
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*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 [ebp - 0x130]
test eax, eax
je 0x407478
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x130], 0
push dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4070b8
push 0x42cf14
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], str.Shared_memory_segment_could_not_be_created.
push eax
call fcn.0040c81b
call fcn.0040feaf
call fcn.0040feaf
int3