Function at 0x100012e0
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x19c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a0], eax
mov eax, dword [0x1006cc00]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x19c], 0xf2fe82a2
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a4], eax
sub eax, 0x96c58939
je 0x10001a00
jmp 0x10001324
mov eax, dword [ebp - 0x1a4]
sub eax, 0x99f6ba87
je 0x10002572
jmp 0x1000133a
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa4014751
je 0x100024ce
jmp 0x10001350
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa64a9541
je 0x100027a4
jmp 0x10001366
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa739247d
je 0x10001d0f
jmp 0x1000137c
mov eax, dword [ebp - 0x1a4]
sub eax, 0xac13c45c
je 0x100020a2
jmp 0x10001392
mov eax, dword [ebp - 0x1a4]
sub eax, 0xade1c06b
je 0x100024dd
jmp 0x100013a8
mov eax, dword [ebp - 0x1a4]
sub eax, 0xaf57bb01
je 0x100020b1
jmp 0x100013be
mov eax, dword [ebp - 0x1a4]
sub eax, 0xb75582f9
je 0x10001df1
jmp 0x100013d4
mov eax, dword [ebp - 0x1a4]
sub eax, 0xb9fc361d
je 0x100018c6
jmp 0x100013ea
mov eax, dword [ebp - 0x1a4]
sub eax, 0xc60c9080
je 0x10002812
jmp 0x10001400
mov eax, dword [ebp - 0x1a4]
sub eax, 0xc89cdf65
je 0x100028dc
jmp 0x10001416
mov eax, dword [ebp - 0x1a4]
sub eax, 0xc89d8f66
je 0x100025bb
jmp 0x1000142c
mov eax, dword [ebp - 0x1a4]
sub eax, 0xceae450f
je 0x100024fc
jmp 0x10001442
mov eax, dword [ebp - 0x1a4]
sub eax, 0xcfe07a73
je 0x10002024
jmp 0x10001458
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd0ccf4e2
je 0x10002886
jmp 0x1000146e
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd1036149
je 0x10001f9b
jmp 0x10001484
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd150bd60
je 0x10002397
jmp 0x1000149a
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd7733bed
je 0x10001c5f
jmp 0x100014b0
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd9a7b163
je 0x10001d1e
jmp 0x100014c6
mov eax, dword [ebp - 0x1a4]
sub eax, 0xda22cbc3
je 0x10002529
jmp 0x100014dc
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdf0377b8
je 0x10001aa2
jmp 0x100014f2
mov eax, dword [ebp - 0x1a4]
sub eax, 0xe377c786
je 0x1000212c
jmp 0x10001508
mov eax, dword [ebp - 0x1a4]
sub eax, 0xed2889e2
je 0x10001bb9
jmp 0x1000151e
mov eax, dword [ebp - 0x1a4]
sub eax, 0xed8681fb
je 0x10001a36
jmp 0x10001534
mov eax, dword [ebp - 0x1a4]
sub eax, 0xedc2721b
je 0x1000274b
jmp 0x1000154a
mov eax, dword [ebp - 0x1a4]
sub eax, 0xef543e68
je 0x10001f25
jmp 0x10001560
mov eax, dword [ebp - 0x1a4]
sub eax, 0xeffef3c6
je 0x100026d5
jmp 0x10001576
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf1331229
je 0x100026e6
jmp 0x1000158c
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf197415b
je 0x1000267f
jmp 0x100015a2
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf2747034
je 0x10001e5d
jmp 0x100015b8
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf2fe82a2
je 0x1000187d
jmp 0x100015ce
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf31292f8
je 0x100026c6
jmp 0x100015e4
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf4e02e0b
je 0x10001be9
jmp 0x100015fa
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf8402aec
je 0x10001d67
jmp 0x10001610
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf887e96f
je 0x10001f75
jmp 0x10001626
mov eax, dword [ebp - 0x1a4]
sub eax, 0xfc9e3742
je 0x10001e00
jmp 0x1000163c
mov eax, dword [ebp - 0x1a4]
sub eax, 0x665717b
je 0x100025ca
jmp 0x10001652
mov eax, dword [ebp - 0x1a4]
sub eax, 0x11657dee
je 0x10001e6c
jmp 0x10001668
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1815cae2
je 0x1000217d
jmp 0x1000167e
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1b8ba1bc
je 0x10001aeb
jmp 0x10001694
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1e61703e
je 0x10001bda
jmp 0x100016aa
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1eba2afa
je 0x10001fd3
jmp 0x100016c0
mov eax, dword [ebp - 0x1a4]
sub eax, 0x206107b9
je 0x10001ec9
jmp 0x100016d6
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2090230f
je 0x10002434
jmp 0x100016ec
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2c659d31
je 0x100027ef
jmp 0x10001702
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2cef7ce3
je 0x1000261b
jmp 0x10001718
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2f693d26
je 0x100019d2
jmp 0x1000172e
mov eax, dword [ebp - 0x1a4]
sub eax, 0x3061f5c3
je 0x1000222c
jmp 0x10001744
mov eax, dword [ebp - 0x1a4]
sub eax, 0x30d4bab0
je 0x100028cd
jmp 0x1000175a
mov eax, dword [ebp - 0x1a4]
sub eax, 0x3391d0f4
je 0x10002388
jmp 0x10001770
mov eax, dword [ebp - 0x1a4]
sub eax, 0x34ce7810
je 0x10001e3c
jmp 0x10001786
mov eax, dword [ebp - 0x1a4]
sub eax, 0x3d96e286
je 0x100019e1
jmp 0x1000179c
mov eax, dword [ebp - 0x1a4]
sub eax, 0x3f9e2d3c
je 0x10001e21
jmp 0x100017b2
mov eax, dword [ebp - 0x1a4]
sub eax, 0x4fc87d47
je 0x10002827
jmp 0x100017c8
mov eax, dword [ebp - 0x1a4]
sub eax, 0x500e2ab4
je 0x100022b1
jmp 0x100017de
mov eax, dword [ebp - 0x1a4]
sub eax, 0x536dd87d
je 0x1000247d
jmp 0x100017f4
mov eax, dword [ebp - 0x1a4]
sub eax, 0x543f47e0
je 0x10002670
jmp 0x1000180a
mov eax, dword [ebp - 0x1a4]
sub eax, 0x5682c9ec
je 0x10001f56
jmp 0x10001820
mov eax, dword [ebp - 0x1a4]
sub eax, 0x575c23ec
je 0x10001ee4
jmp 0x10001836
mov eax, dword [ebp - 0x1a4]
sub eax, 0x66088afc
je 0x100028be
jmp 0x1000184c
mov eax, dword [ebp - 0x1a4]
sub eax, 0x70cb2a5f
je 0x10001a0f
jmp 0x10001862
mov eax, dword [ebp - 0x1a4]
sub eax, 0x7ccc4ff9
je 0x1000223b
jmp 0x10001878
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf1331229
mov ecx, 0xb9fc361d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x188], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10008a90
add esp, 0xc
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x190], eax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xf1331229
mov ecx, 0x2f693d26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0x3d96e286
jmp 0x100028e6
mov eax, 0x96c58939
mov ecx, 0x70cb2a5f
cmp dword [ebp - 0x190], 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xeffef3c6
jmp 0x100028e6
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x19c], 0xed8681fb
jmp 0x100028e6
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x160]
lea eax, [ebp - 0x11c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x190]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x19c], 0xdf0377b8
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xedc2721b
mov ecx, 0x1b8ba1bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x198], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x198], eax
sete al
and al, 1
mov byte [ebp - 0x159], al
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xedc2721b
mov ecx, 0xed2889e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dl, byte [ebp - 0x159]
mov eax, 0xf4e02e0b
mov ecx, 0x1e61703e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xeffef3c6
jmp 0x100028e6
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0x70206b52
sub edx, 1
sub edx, 0x70206b52
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xa64a9541
mov ecx, 0xd7733bed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x198]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xa64a9541
mov ecx, 0xa739247d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xd9a7b163
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x2c659d31
mov ecx, 0xf8402aec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x158]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x2c659d31
mov ecx, 0xb75582f9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xfc9e3742
jmp 0x100028e6
mov edx, dword [ebp - 0x154]
mov eax, 0x3f9e2d3c
mov ecx, 0x11657dee
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x19c], 0x34ce7810
jmp 0x100028e6
mov eax, dword [ebp - 0x150]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19c], 0xf2747034
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xeffef3c6
jmp 0x100028e6
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x17c]
mov dword [eax], ecx
mov dword [ebp - 0x19c], 0x206107b9
jmp 0x100028e6
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x19c], 0x575c23ec
jmp 0x100028e6
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x14c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov word [eax], 0
mov dword [ebp - 0x19c], 0xef543e68
jmp 0x100028e6
mov eax, dword [ebp - 0x174]
movzx eax, word [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x142], ax
mov dword [ebp - 0x19c], 0x5682c9ec
jmp 0x100028e6
mov ax, word [ebp - 0x142]
movzx eax, ax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x19c], 0xf887e96f
jmp 0x100028e6
mov edx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x140]
mov eax, 0x665717b
mov ecx, 0xd1036149
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x19c], 0x1eba2afa
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
sub edx, 0xf933c8b6
sub edx, 1
add edx, 0xf933c8b6
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc60c9080
mov ecx, 0xcfe07a73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x138]
mov ax, word [eax]
mov word [ebp - 0x132], ax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc60c9080
mov ecx, 0xac13c45c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xaf57bb01
jmp 0x100028e6
mov ax, word [ebp - 0x132]
movzx edx, ax
mov ecx, dword [ebp - 0x13c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x174]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x265929bd
add ecx, eax
add ecx, 0x265929bd
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100141a0
call fcn.1000ae00
add esp, 8
mov edx, eax
mov eax, 0xe377c786
mov ecx, 0x2090230f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
sub edx, 0x2cb171de
sub edx, 1
add edx, 0x2cb171de
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4fc87d47
mov ecx, 0x1815cae2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x16c]
mov dword [eax], 0
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x9de02586
add edx, eax
add edx, 0x9de02586
mov eax, dword [ebp - 0x16c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x130], eax
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
add edx, 0x7fdb9175
sub edx, 1
sub edx, 0x7fdb9175
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4fc87d47
mov ecx, 0x3061f5c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0x7ccc4ff9
jmp 0x100028e6
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
sub edx, 0x91036e86
sub edx, 1
add edx, 0x91036e86
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xd0ccf4e2
mov ecx, 0x500e2ab4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x130]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x168]
mov byte [eax], cl
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x170]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x170]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x8a4a0952
add eax, ecx
add eax, 0x8a4a0952
mov dword [ebp - 0x128], eax
mov ecx, dword [0x1006df58]
mov eax, dword [0x1006df54]
mov edx, ecx
add edx, 0x7edb77d5
sub edx, 1
sub edx, 0x7edb77d5
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd0ccf4e2
mov ecx, 0x3391d0f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xd150bd60
jmp 0x100028e6
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x12c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10008bf0
add esp, 0xc
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x194]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x5cdd6afa
add esi, eax
sub esi, 0x5cdd6afa
mov eax, dword [ebp - 0x16c]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x168]
mov byte [eax], cl
mov dword [ebp - 0x19c], 0x2090230f
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x66088afc
mov ecx, 0x536dd87d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
add edx, 0x871e2e5
sub edx, 1
sub edx, 0x871e2e5
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x66088afc
mov ecx, 0xa4014751
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xade1c06b
jmp 0x100028e6
mov eax, dword [ebp - 0x174]
mov ax, word [eax]
mov word [ebp - 0x122], ax
mov dword [ebp - 0x19c], 0xceae450f
jmp 0x100028e6
mov cx, word [ebp - 0x122]
add cx, 0xae5a
add cx, 1
sub cx, 0xae5a
mov eax, dword [ebp - 0x174]
mov word [eax], cx
mov dword [ebp - 0x19c], 0xda22cbc3
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x30d4bab0
mov ecx, 0x99f6ba87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x30d4bab0
mov ecx, 0xc89d8f66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xef543e68
jmp 0x100028e6
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
mov edx, eax
sub edx, 0xa2064537
sub edx, 1
add edx, 0xa2064537
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc89cdf65
mov ecx, 0x2cef7ce3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x120], eax
mov eax, dword [0x1006df58]
mov ecx, dword [0x1006df54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc89cdf65
mov ecx, 0x543f47e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xf197415b
jmp 0x100028e6
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19c], 0xf31292f8
jmp 0x100028e6
mov dword [ebp - 0x19c], 0xeffef3c6
jmp 0x100028e6
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10007e60
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x188], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10008a90
add esp, 0xc
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x19c], 0xb9fc361d
jmp 0x100028e6
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x19c], 0x1b8ba1bc
jmp 0x100028e6
mov eax, dword [ebp - 0x198]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x19c], 0xd7733bed
jmp 0x100028e6
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x158]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x19c], 0xf8402aec
jmp 0x100028e6
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x19c], 0xcfe07a73
jmp 0x100028e6
mov eax, dword [ebp - 0x16c]
mov dword [eax], 0
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x16c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x19c], 0x1815cae2
jmp 0x100028e6
mov eax, dword [ebp - 0x130]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x168]
mov byte [eax], cl
mov eax, dword [ebp - 0x170]
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x19c], 0x500e2ab4
jmp 0x100028e6
mov dword [ebp - 0x19c], 0x536dd87d
jmp 0x100028e6
mov dword [ebp - 0x19c], 0x99f6ba87
jmp 0x100028e6
mov dword [ebp - 0x19c], 0x2cef7ce3
jmp 0x10001308