Function at 0x100019e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10009b4d
mov eax, dword fs:[0]
push eax
sub esp, 0x77c
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x33c], eax
mov ecx, 0xc1
mov dword [ebp - 0x314], 0xff19ff19
mov esi, 0x1000a458
mov dword [ebp - 0x310], 0x45610000
lea edi, [ebp - 0x788]
mov dword [ebp - 0x30c], 0x858d5051
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x308], 0xfffffee0
mov dword [ebp - 0x304], 0x90909050
mov dword [ebp - 0x300], 0x54494e55
mov dword [ebp - 0x2fc], 0x5341435f
mov dword [ebp - 0x2f8], 0x45564554
mov dword [ebp - 0x2f4], 0x544e
mov dword [ebp - 0x2f0], 0x90902674
mov dword [ebp - 0x2ec], 0x90909090
mov dword [ebp - 0x2e8], 0x35643137
mov dword [ebp - 0x2e4], 0x5d315b2c
mov dword [ebp - 0x2e0], 0x438b38eb
mov dword [ebp - 0x2dc], 0x6c657053
mov dword [ebp - 0x2d8], 0x666e496c
mov dword [ebp - 0x2d4], 0x6f
mov dword [ebp - 0x2d0], 0x40f69090
mov dword [ebp - 0x2cc], 0x8b
mov dword [ebp - 0x2c8], 0x9d
mov dword [ebp - 0x2c4], 0xad
mov dword [ebp - 0x2c0], 0xd0
mov dword [ebp - 0x2bc], 0xde
mov dword [ebp - 0x2b8], 0xf1
mov dword [ebp - 0x2b4], 0x103
mov dword [ebp - 0x2b0], 0xe58b7aeb
mov dword [ebp - 0x2ac], 0xfe908d8d
mov dword [ebp - 0x2a8], 0xe890ffff
mov dword [ebp - 0x2a4], 0xfe74c085
mov dword [ebp - 0x2a0], 0x90909090
mov dword [ebp - 0x29c], 0x6c202c5b
mov dword [ebp - 0x298], 0x6c61636f
mov dword [ebp - 0x294], 0x295d
mov dword [ebp - 0x290], 0xe8
mov dword [ebp - 0x28c], 0x458b9000
mov dword [ebp - 0x288], 0x90909090
mov dword [ebp - 0x284], 0x5f909090
mov dword [ebp - 0x280], 0x90909090
mov dword [ebp - 0x27c], 0x438b9090
mov dword [ebp - 0x278], 0x626d6f43
mov dword [ebp - 0x274], 0x6f4c7461
mov dword [ebp - 0x270], 0x64644167
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0xe80a7206
mov dword [ebp - 0x264], 0x6e75202c
mov dword [ebp - 0x260], 0x64697469
mov dword [ebp - 0x25c], 0x63617254
mov dword [ebp - 0x258], 0x696e556b
mov dword [ebp - 0x254], 0x74
mov dword [ebp - 0x250], 0x67617355
mov dword [ebp - 0x24c], 0x54203a65
mov dword [ebp - 0x248], 0x6b636172
mov dword [ebp - 0x244], 0x74696e55
mov dword [ebp - 0x240], 0x6e752228
mov dword [ebp - 0x23c], 0x29227469
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0x458b52eb
mov dword [ebp - 0x230], 0x8d14468b
mov dword [ebp - 0x22c], 0xabe9147e
mov dword [ebp - 0x228], 0x89000000
mov dword [ebp - 0x224], 0xc1f674eb
mov dword [ebp - 0x220], 0x9090c085
mov dword [ebp - 0x21c], 0xc1f674eb
mov dword [ebp - 0x218], 0x9090ff85
mov dword [ebp - 0x214], 0x74696e55
mov dword [ebp - 0x210], 0x69736f50
mov dword [ebp - 0x20c], 0x6e6f6974
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0x458d49eb
mov dword [ebp - 0x200], 0x200
mov dword [ebp - 0x1fc], 0x200
mov dword [ebp - 0x1f8], 0x200
mov dword [ebp - 0x1f4], 0x200
mov dword [ebp - 0x1f0], 0x200
mov dword [ebp - 0x1ec], 0x200
mov dword [ebp - 0x1e8], 0x200
mov dword [ebp - 0x1e4], 0x200
mov dword [ebp - 0x1e0], 0xc93300eb
mov dword [ebp - 0x1dc], 0x9090c984
mov dword [ebp - 0x1d8], 0x90909090
mov dword [ebp - 0x1d4], 0x90909090
mov dword [ebp - 0x1d0], 0xdb339090
mov dword [ebp - 0x1cc], 0x9090d284
mov dword [ebp - 0x1c8], 0x558b9090
mov dword [ebp - 0x1c4], 0xe808438b
mov dword [ebp - 0x1c0], 0x90909090
mov dword [ebp - 0x1bc], 0x90909090
mov dword [ebp - 0x1b8], 0xe8
mov dword [ebp - 0x1b4], 0x8b5b5e5f
mov dword [ebp - 0x1b0], 0xe8
mov dword [ebp - 0x1ac], 0x8b5b5e5f
mov dword [ebp - 0x1a8], 0xe8
mov dword [ebp - 0x1a4], 0x8b5b5e5f
mov dword [ebp - 0x1a0], 0xe8
mov dword [ebp - 0x19c], 0x8b5b5e5f
mov dword [ebp - 0x198], 0xe8
mov dword [ebp - 0x194], 0x8b5b5e5f
mov dword [ebp - 0x190], 0xe8
mov dword [ebp - 0x18c], 0x8b5b5e5f
mov dword [ebp - 0x188], 0xe8
mov dword [ebp - 0x184], 0x8b5b5e5f
mov dword [ebp - 0x180], 0xe8
mov dword [ebp - 0x17c], 0x8b5b5e5f
mov dword [ebp - 0x178], 0x50746547
mov dword [ebp - 0x174], 0x6579616c
mov dword [ebp - 0x170], 0x66754272
mov dword [ebp - 0x16c], 0x444966
mov dword [ebp - 0x168], 0x67617355
mov dword [ebp - 0x164], 0x47203a65
mov dword [ebp - 0x160], 0x6c507465
mov dword [ebp - 0x15c], 0x72657961
mov dword [ebp - 0x158], 0x66667542
mov dword [ebp - 0x154], 0x62284449
mov dword [ebp - 0x150], 0x49666675
mov dword [ebp - 0x14c], 0x7865646e
mov dword [ebp - 0x148], 0x29
mov dword [ebp - 0x144], 0x2c5b206e
mov dword [ebp - 0x140], 0x295d31
mov dword [ebp - 0x13c], 0x63696c43
mov dword [ebp - 0x138], 0x7268746b
mov dword [ebp - 0x134], 0x6867756f
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0x41746553
mov dword [ebp - 0x128], 0x6c6f7475
mov dword [ebp - 0x124], 0x746f6f
mov dword [ebp - 0x120], 0x2b9
mov dword [ebp - 0x11c], 0x53cbeb00
mov dword [ebp - 0x118], 0xe8f98b57
mov dword [ebp - 0x114], 0x20a
mov dword [ebp - 0x110], 0x2b9
mov dword [ebp - 0x10c], 0xe8d88b00
mov dword [ebp - 0x108], 0x5141cd
mov dword [ebp - 0x104], 0xf08b2eeb
mov dword [ebp - 0x100], 0x403446f6
mov dword [ebp - 0xfc], 0xcf8b026a
mov dword [ebp - 0xf8], 0xce8b026a
mov dword [ebp - 0xf4], 0xdde8026a
mov dword [ebp - 0xf0], 0x20e8026a
mov dword [ebp - 0xec], 0x61e8026a
mov dword [ebp - 0xe8], 0xcf8b026a
mov dword [ebp - 0xe4], 0xe8
mov dword [ebp - 0xe0], 0x90909000
mov dword [ebp - 0xdc], 0x90909090
mov dword [ebp - 0xd8], 0x90909090
mov dword [ebp - 0xd4], 0xfffffed4
mov dword [ebp - 0xd0], 0x4d746553
mov dword [ebp - 0xcc], 0x6573756f
mov dword [ebp - 0xc8], 0x7265766f
mov dword [ebp - 0xc4], 0x74696e55
mov dword [ebp - 0xc0], 0x566f46
mov dword [ebp - 0xbc], 0x37352e31
mov dword [ebp - 0xb8], 0x393730
mov dword [ebp - 0xb4], 0xe9
mov dword [ebp - 0xb0], 0x6b636142
mov dword [ebp - 0xac], 0x756f7267
mov dword [ebp - 0xa8], 0x6f53646e
mov dword [ebp - 0xa4], 0x646e75
mov dword [ebp - 0xa0], 0xe9
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0x656c6553
movups xmmword [ebp - 0x32c], xmm0
mov dword [ebp - 0x98], 0x6f697463
mov dword [ebp - 0x94], 0x7269436e
mov dword [ebp - 0x90], 0x53656c63
mov dword [ebp - 0x8c], 0x656c7974
mov dword [ebp - 0x88], 0x78655400
mov dword [ebp - 0x84], 0x65727574
mov dword [ebp - 0x80], 0x6e555c73
mov dword [ebp - 0x7c], 0x65537469
mov dword [ebp - 0x78], 0x7463656c
mov dword [ebp - 0x74], 0x74786554
mov dword [ebp - 0x70], 0x2e317275
mov dword [ebp - 0x6c], 0x706c62
mov dword [ebp - 0x68], 0x74786554
mov dword [ebp - 0x64], 0x73657275
mov dword [ebp - 0x60], 0x696e555c
mov dword [ebp - 0x5c], 0x6c655374
mov dword [ebp - 0x58], 0x54746365
mov dword [ebp - 0x54], 0x75747865
mov dword [ebp - 0x50], 0x622e3272
mov dword [ebp - 0x4c], 0x706c
mov dword [ebp - 0x48], 0xe8
mov dword [ebp - 0x44], 0xe8
mov dword [ebp - 0x40], 0x90000000
mov dword [ebp - 0x3c], 0x61636e55
mov dword [ebp - 0x38], 0x756f5370
mov dword [ebp - 0x34], 0x73646e
mov dword [ebp - 0x30], 0xe9
mov dword [ebp - 0x2c], 0x65746e49
mov dword [ebp - 0x28], 0x63616672
mov dword [ebp - 0x24], 0x6c6f5665
mov dword [ebp - 0x20], 0x656d75
mov dword [ebp - 0x1c], 0xe9
mov dword [ebp - 0x18], 0x297520a8
mov dword [ebp - 0x14], 0xe9
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0xf
mov byte [ebp - 0x32c], 0
mov dword [ebp - 4], 0
xor edi, edi
nop dword [eax + eax]
mov esi, dword [ebp + edi - 0x788]
lea ecx, [ebp - 0x330]
push ecx
push 4
push 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x10002225
lea eax, [ebp - 0x334]
push eax
push 4
lea eax, [ebp - 0x314]
add eax, edi
push eax
push esi
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000220d
lea eax, [ebp - 0x330]
push eax
push dword [ebp - 0x330]
push 4
push esi
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x10002390
mov edx, esi
lea ecx, [ebp - 0x36c]
call fcn.10005040
mov byte [ebp - 4], 1
mov edx, str.Fail_restoring_old_protection_at
jmp 0x1000223b
mov edx, esi
lea ecx, [ebp - 0x36c]
call fcn.10005040
mov byte [ebp - 4], 2
mov edx, str.Fail_writing_at
jmp 0x1000223b
mov edx, esi
lea ecx, [ebp - 0x36c]
call fcn.10005040
mov byte [ebp - 4], 3
mov edx, str.Fail_changing_protection_at
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x354]
call fcn.100051a0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x32c]
cmp eax, esi
je 0x100022d9
mov ecx, dword [ebp - 0x318]
cmp ecx, 0xf
jbe 0x10002296
mov edx, dword [ebp - 0x32c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000228c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0xf
mov byte [ebp - 0x32c], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x32c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x31c], xmm0
mov dword [esi + 0x10], 0
mov byte [esi], 0
mov dword [esi + 0x14], 0xf
mov ecx, dword [ebp - 0x340]
cmp ecx, 0xf
jbe 0x10002313
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002309
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
cmp ecx, 0xf
jbe 0x1000236c
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002362
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
cmp dword [ebp - 0x318], 0xf
lea eax, [ebp - 0x32c]
push 0
cmova eax, dword [ebp - 0x32c]
push str.error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
add edi, 4
cmp edi, 0x304
jae 0x100023a6
mov eax, dword [ebp - 0x33c]
jmp 0x10002190
movaps xmm0, xmmword [0x1000a780]
xor eax, eax
movups xmmword [ebp - 0x484], xmm0
mov dword [ebp - 0x414], 0x50bfdc
movaps xmm0, xmmword [0x1000a7c0]
movups xmmword [ebp - 0x474], xmm0
mov dword [ebp - 0x410], 0x7a5e39
movaps xmm0, xmmword [0x1000a7b0]
movups xmmword [ebp - 0x464], xmm0
mov dword [ebp - 0x40c], 0x10001290
movaps xmm0, xmmword [0x1000a760]
movups xmmword [ebp - 0x454], xmm0
mov dword [ebp - 0x408], 0x100013b0
movaps xmm0, xmmword [0x1000a770]
movups xmmword [ebp - 0x444], xmm0
mov dword [ebp - 0x404], 0x10001510
movaps xmm0, xmmword [0x1000a790]
movups xmmword [ebp - 0x434], xmm0
mov dword [ebp - 0x400], 0x10001540
movaps xmm0, xmmword [0x1000a7a0]
movups xmmword [ebp - 0x424], xmm0
mov dword [ebp - 0x3fc], 0x10001550
mov dword [ebp - 0x3f8], 0x10001670
mov dword [ebp - 0x3f4], 0x10001640
mov dword [ebp - 0x3f0], 0x10001570
mov dword [ebp - 0x3ec], 0x10001570
mov dword [ebp - 0x3e8], 0x100015a0
mov dword [ebp - 0x3e4], 0x100015a0
mov dword [ebp - 0x3e0], 0x100015d0
mov dword [ebp - 0x3dc], 0x100015d0
mov dword [ebp - 0x3d8], 0x10001600
mov dword [ebp - 0x3d4], 0x10001600
mov dword [ebp - 0x3d0], 0x10001630
mov dword [ebp - 0x3cc], 0x10001630
mov dword [ebp - 0x3c8], 0x10001630
mov dword [ebp - 0x3c4], 0x10001630
mov dword [ebp - 0x3c0], 0x10001630
mov dword [ebp - 0x3bc], 0x10001630
mov dword [ebp - 0x3b8], 0x10001630
mov dword [ebp - 0x3b4], 0x10001680
mov dword [ebp - 0x3b0], 0x100016f0
mov dword [ebp - 0x3ac], 0x10001860
mov dword [ebp - 0x3a8], 0x10001980
mov dword [ebp - 0x3a4], 0x100019b0
mov dword [ebp - 0x3a0], 0x10001710
mov dword [ebp - 0x39c], 0x10001750
mov dword [ebp - 0x398], 0x100017a0
mov dword [ebp - 0x378], eax
mov esi, dword [ebp + eax - 0x484]
mov eax, dword [ebp + eax - 0x40c]
sub eax, esi
push 0
sub eax, 4
push 4
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x338]
push eax
push esi
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x1000292a
mov edx, esi
lea ecx, [ebp - 0x36c]
call fcn.10005040
lea eax, [ebp - 0x36c]
mov byte [ebp - 4], 4
push eax
mov edx, str.failed_change_of_call_address
lea ecx, [ebp - 0x354]
call fcn.100051a0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x32c]
cmp eax, esi
je 0x1000263d
mov ecx, dword [ebp - 0x318]
cmp ecx, 0xf
jbe 0x100025fa
mov edx, dword [ebp - 0x32c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100025f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0xf
mov byte [ebp - 0x32c], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x32c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x31c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x340]
cmp ecx, 0xf
jbe 0x10002677
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000266d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
cmp ecx, 0xf
jbe 0x100026d0
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100026c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov edx, dword [ebp - 0x338]
lea ecx, [ebp - 0x36c]
call fcn.10005040
mov byte [ebp - 4], 5
mov eax, 0x7fffffff
mov ecx, dword [ebp - 0x31c]
sub eax, ecx
mov dword [ebp - 0x370], ecx
cmp eax, 2
jb 0x10002b46
cmp dword [ebp - 0x318], 0xf
lea eax, [ebp - 0x32c]
lea edx, [ecx + 2]
mov dword [ebp - 0x344], 0
cmova eax, dword [ebp - 0x32c]
lea edi, [ebp - 0x354]
mov esi, 0xf
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x340], 0
xorps xmm0, xmm0
mov dword [ebp - 0x374], edx
movups xmmword [ebp - 0x354], xmm0
cmp edx, esi
jbe 0x100027e4
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10002771
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
jmp 0x10002791
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x100027b9
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10002b41
push ecx
call fcn.10008c7f
add esp, 4
test eax, eax
je 0x10002b16
mov ecx, dword [ebp - 0x370]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x374]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x100027d8
test eax, eax
je 0x100027d6
push eax
call fcn.10008c7f
mov ecx, dword [ebp - 0x370]
add esp, 4
mov edx, dword [ebp - 0x374]
mov edi, eax
jmp 0x100027d8
xor edi, edi
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x354], edi
push ecx
push eax
push edi
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x340], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x370]
mov ecx, 0x6f74
add esp, 0xc
mov word [edi + eax], cx
mov byte [edi + eax + 2], 0
lea eax, [ebp - 0x36c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x354]
push eax
push dword [ebp - 0x334]
lea ecx, [ebp - 0x394]
call fcn.100052a0
mov ecx, dword [ebp - 0x318]
cmp ecx, 0xf
jbe 0x1000286c
mov edx, dword [ebp - 0x32c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002862
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
movups xmm0, xmmword [ebp - 0x394]
movups xmmword [ebp - 0x32c], xmm0
movq xmm0, qword [ebp - 0x384]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x340]
movq qword [ebp - 0x31c], xmm0
cmp ecx, 0xf
jbe 0x100028c8
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100028be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x10002906
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100028fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
cmp dword [ebp - 0x318], 0xf
lea eax, [ebp - 0x32c]
push 0
cmova eax, dword [ebp - 0x32c]
push str.error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x378]
add eax, 4
mov dword [ebp - 0x378], eax
cmp eax, 0x78
jb 0x10002550
movaps xmm0, xmmword [0x1000a7d0]
xor edi, edi
movups xmmword [ebp - 0x34c], xmm0
mov esi, dword [ebp + edi*4 - 0x34c]
lea eax, [ebp - 0x330]
push eax
push 4
push 4
push esi
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x10002ae0
mov edx, esi
lea ecx, [ebp - 0x394]
call fcn.10005040
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 7
push eax
mov edx, str.Fail_changing_protection_at
lea ecx, [ebp - 0x36c]
call fcn.100051a0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x32c]
cmp eax, esi
je 0x10002a2d
mov ecx, dword [ebp - 0x318]
cmp ecx, 0xf
jbe 0x100029ea
mov edx, dword [ebp - 0x32c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100029e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0xf
mov byte [ebp - 0x32c], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x32c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x31c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x10002a67
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002a5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0xf
mov byte [ebp - 0x36c], 0
cmp ecx, 0xf
jbe 0x10002abc
mov edx, dword [ebp - 0x394]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002ab2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002b16
push ecx
push edx
call fcn.10008c4e
add esp, 8
cmp dword [ebp - 0x318], 0xf
lea eax, [ebp - 0x32c]
push 0
cmova eax, dword [ebp - 0x32c]
push str.error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
inc edi
cmp edi, 4
jb 0x10002952
mov ecx, dword [ebp - 0x318]
cmp ecx, 0xf
jbe 0x10002b26
mov edx, dword [ebp - 0x32c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002b1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002b1c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10008c4e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10008c40
mov esp, ebp
pop ebp
ret
call fcn.100010c0
call fcn.10001160
int3