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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x1006b000]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x98], 0xd144c3a2
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x814481e1
je 0x1000228b
jmp 0x100010e4
mov eax, dword [ebp - 0xa0]
sub eax, 0x82471408
je 0x100022e9
jmp 0x100010fa
mov eax, dword [ebp - 0xa0]
sub eax, 0x83e7781d
je 0x100018c0
jmp 0x10001110
mov eax, dword [ebp - 0xa0]
sub eax, 0x84004988
je 0x1000275c
jmp 0x10001126
mov eax, dword [ebp - 0xa0]
sub eax, 0x908f3c80
je 0x10001e64
jmp 0x1000113c
mov eax, dword [ebp - 0xa0]
sub eax, 0x92f722db
je 0x10001b77
jmp 0x10001152
mov eax, dword [ebp - 0xa0]
sub eax, 0x93981944
je 0x100017d8
jmp 0x10001168
mov eax, dword [ebp - 0xa0]
sub eax, 0x95bfa884
je 0x1000235f
jmp 0x1000117e
mov eax, dword [ebp - 0xa0]
sub eax, 0x97c882c3
je 0x10001e13
jmp 0x10001194
mov eax, dword [ebp - 0xa0]
sub eax, 0xa0ea2953
je 0x10001c19
jmp 0x100011aa
mov eax, dword [ebp - 0xa0]
sub eax, 0xa53b4dbc
je 0x10002164
jmp 0x100011c0
mov eax, dword [ebp - 0xa0]
sub eax, 0xa6a4f91c
je 0x10002917
jmp 0x100011d6
mov eax, dword [ebp - 0xa0]
sub eax, 0xac0ad57b
je 0x10002059
jmp 0x100011ec
mov eax, dword [ebp - 0xa0]
sub eax, 0xb53bf55b
je 0x10002551
jmp 0x10001202
mov eax, dword [ebp - 0xa0]
sub eax, 0xb6428d0f
je 0x10001a5b
jmp 0x10001218
mov eax, dword [ebp - 0xa0]
sub eax, 0xb65d5f2c
je 0x1000273c
jmp 0x1000122e
mov eax, dword [ebp - 0xa0]
sub eax, 0xb6668bce
je 0x10001dae
jmp 0x10001244
mov eax, dword [ebp - 0xa0]
sub eax, 0xb6d8ec2c
je 0x10002940
jmp 0x1000125a
mov eax, dword [ebp - 0xa0]
sub eax, 0xb866489a
je 0x10001c28
jmp 0x10001270
mov eax, dword [ebp - 0xa0]
sub eax, 0xbb5e6c4b
je 0x10001bc8
jmp 0x10001286
mov eax, dword [ebp - 0xa0]
sub eax, 0xbf1187ef
je 0x10001dbd
jmp 0x1000129c
mov eax, dword [ebp - 0xa0]
sub eax, 0xc099cd6b
je 0x100025d8
jmp 0x100012b2
mov eax, dword [ebp - 0xa0]
sub eax, 0xcaf1b79c
je 0x10001aa4
jmp 0x100012c8
mov eax, dword [ebp - 0xa0]
sub eax, 0xcb426bd6
je 0x1000274b
jmp 0x100012de
mov eax, dword [ebp - 0xa0]
sub eax, 0xcfc564de
je 0x10001920
jmp 0x100012f4
mov eax, dword [ebp - 0xa0]
sub eax, 0xd144c3a2
je 0x10001703
jmp 0x1000130a
mov eax, dword [ebp - 0xa0]
sub eax, 0xd24bbf03
je 0x1000244c
jmp 0x10001320
mov eax, dword [ebp - 0xa0]
sub eax, 0xd81b5178
je 0x1000184e
jmp 0x10001336
mov eax, dword [ebp - 0xa0]
sub eax, 0xdca8c55c
je 0x10001757
jmp 0x1000134c
mov eax, dword [ebp - 0xa0]
sub eax, 0xddc746eb
je 0x10001c46
jmp 0x10001362
mov eax, dword [ebp - 0xa0]
sub eax, 0xe33c0bad
je 0x10001b42
jmp 0x10001378
mov eax, dword [ebp - 0xa0]
sub eax, 0xe3c270e6
je 0x10002646
jmp 0x1000138e
mov eax, dword [ebp - 0xa0]
sub eax, 0xe69b2499
je 0x10001fe3
jmp 0x100013a4
mov eax, dword [ebp - 0xa0]
sub eax, 0xebc2d445
je 0x10001a4c
jmp 0x100013ba
mov eax, dword [ebp - 0xa0]
sub eax, 0xece7874d
je 0x100020f5
jmp 0x100013d0
mov eax, dword [ebp - 0xa0]
sub eax, 0xed5e5268
je 0x100027c4
jmp 0x100013e6
mov eax, dword [ebp - 0xa0]
sub eax, 0xf4b07d58
je 0x10002841
jmp 0x100013fc
mov eax, dword [ebp - 0xa0]
sub eax, 0xf7409965
je 0x100025e7
jmp 0x10001412
mov eax, dword [ebp - 0xa0]
sub eax, 0x351ae5b
je 0x10001ef2
jmp 0x10001428
mov eax, dword [ebp - 0xa0]
sub eax, 0x3dffc43
je 0x10001a03
jmp 0x1000143e
mov eax, dword [ebp - 0xa0]
sub eax, 0x5ca7476
je 0x10001b59
jmp 0x10001454
mov eax, dword [ebp - 0xa0]
sub eax, 0x6826ef2
je 0x10001b33
jmp 0x1000146a
mov eax, dword [ebp - 0xa0]
sub eax, 0xe213347
je 0x100023fb
jmp 0x10001480
mov eax, dword [ebp - 0xa0]
sub eax, 0xe761dfc
je 0x10002929
jmp 0x10001496
mov eax, dword [ebp - 0xa0]
sub eax, 0x13f33a38
je 0x1000229a
jmp 0x100014ac
mov eax, dword [ebp - 0xa0]
sub eax, 0x14b0c870
je 0x10001c55
jmp 0x100014c2
mov eax, dword [ebp - 0xa0]
sub eax, 0x1a1504c9
je 0x10002617
jmp 0x100014d8
mov eax, dword [ebp - 0xa0]
sub eax, 0x1b3cc603
je 0x10002600
jmp 0x100014ee
mov eax, dword [ebp - 0xa0]
sub eax, 0x1b3d2ca8
je 0x100026bc
jmp 0x10001504
mov eax, dword [ebp - 0xa0]
sub eax, 0x2213b785
je 0x10001ce7
jmp 0x1000151a
mov eax, dword [ebp - 0xa0]
sub eax, 0x287a7dfb
je 0x10002113
jmp 0x10001530
mov eax, dword [ebp - 0xa0]
sub eax, 0x2abc3426
je 0x10001ee3
jmp 0x10001546
mov eax, dword [ebp - 0xa0]
sub eax, 0x2b25cd17
je 0x100027e5
jmp 0x1000155c
mov eax, dword [ebp - 0xa0]
sub eax, 0x37e9090b
je 0x1000280f
jmp 0x10001572
mov eax, dword [ebp - 0xa0]
sub eax, 0x39579558
je 0x100027d6
jmp 0x10001588
mov eax, dword [ebp - 0xa0]
sub eax, 0x39c201e7
je 0x10001f68
jmp 0x1000159e
mov eax, dword [ebp - 0xa0]
sub eax, 0x3b59d9ba
je 0x100027fa
jmp 0x100015b4
mov eax, dword [ebp - 0xa0]
sub eax, 0x4086cf50
je 0x10002900
jmp 0x100015ca
mov eax, dword [ebp - 0xa0]
sub eax, 0x4d09f4c8
je 0x100024cc
jmp 0x100015e0
mov eax, dword [ebp - 0xa0]
sub eax, 0x4db0a6a5
je 0x100017c9
jmp 0x100015f6
mov eax, dword [ebp - 0xa0]
sub eax, 0x531b098c
je 0x1000198d
jmp 0x1000160c
mov eax, dword [ebp - 0xa0]
sub eax, 0x5c02790f
je 0x1000276b
jmp 0x10001622
mov eax, dword [ebp - 0xa0]
sub eax, 0x628780ec
je 0x10001dd5
jmp 0x10001638
mov eax, dword [ebp - 0xa0]
sub eax, 0x6a02958e
je 0x10001d38
jmp 0x1000164e
mov eax, dword [ebp - 0xa0]
sub eax, 0x6d1cb386
je 0x10001def
push eax
sub esp, 0x100
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x98], 0xdca8c55c
jmp 0x1000295c
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x88], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000cab0
add esp, 0xc
mov eax, dword [ebp - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x90], eax
mov eax, 0x4db0a6a5
mov ecx, 0x93981944
cmp dword [ebp - 0x90], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xcb426bd6
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0xaf292bb7
sub edx, 1
sub edx, 0xaf292bb7
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, 0x84004988
mov ecx, 0xd81b5178
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0xa3f86903
sub edx, 1
add edx, 0xa3f86903
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, 0x84004988
mov ecx, 0x71bf6e97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x18]
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 - 0x18]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x90]
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 - 0x98], 0xcfc564de
jmp 0x1000295c
mov eax, dword [ebp - 0x84]
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 ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov esi, 0xffffffff
mov eax, 0xb6428d0f
mov ecx, 0x531b098c
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x99aefe16
sub edx, 1
sub edx, 0x99aefe16
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, 0x5c02790f
mov ecx, 0x3dffc43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0x5c02790f
mov ecx, 0xebc2d445
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xcb426bd6
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0x7f6121f7
mov ecx, 0xcaf1b79c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
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 - 0x54], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x9ec33af2
sub edx, 1
sub edx, 0x9ec33af2
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, 0x7f6121f7
mov ecx, 0x6826ef2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xe33c0bad
jmp 0x1000295c
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x5ca7476
jmp 0x1000295c
mov edx, dword [ebp - 0x7c]
mov eax, 0x92f722db
mov ecx, 0x14b0c870
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x9eb71e82
sub edx, 1
sub edx, 0x9eb71e82
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, 0xed5e5268
mov ecx, 0xbb5e6c4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0xed5e5268
mov ecx, 0xa0ea2953
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xb866489a
jmp 0x1000295c
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xddc746eb
jmp 0x1000295c
mov dword [ebp - 0x98], 0xcb426bd6
jmp 0x1000295c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x98], 0x7c5df988
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0x9d0ab1aa
sub edx, 1
add edx, 0x9d0ab1aa
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, 0x39579558
mov ecx, 0x6a02958e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0x17e2252a
sub edx, 1
add edx, 0x17e2252a
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, 0x39579558
mov ecx, 0xb6668bce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xbf1187ef
jmp 0x1000295c
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x98], 0x628780ec
jmp 0x1000295c
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x98], 0x6d1cb386
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0xbd139496
sub edx, 1
sub edx, 0xbd139496
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, 0x2b25cd17
mov ecx, 0x908f3c80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0xca26e528
sub edx, 1
add edx, 0xca26e528
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, 0x2b25cd17
mov ecx, 0x2abc3426
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0x351ae5b
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0x637e9a98
sub edx, 1
add edx, 0x637e9a98
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, 0x3b59d9ba
mov ecx, 0x39c201e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
sub eax, 0x698c19b9
add eax, ecx
add eax, 0x698c19b9
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0xcc96e81f
sub edx, 1
add edx, 0xcc96e81f
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, 0x3b59d9ba
mov ecx, 0x779c99e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0x44388eda
sub edx, 1
add edx, 0x44388eda
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, 0x37e9090b
mov ecx, 0xac0ad57b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ee20
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x35], al
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
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, 0x37e9090b
mov ecx, 0xece7874d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dl, byte [ebp - 0x35]
mov eax, 0x287a7dfb
mov ecx, 0x7f38eae2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x6fd6193b
sub edx, 1
sub edx, 0x6fd6193b
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, 0xf4b07d58
mov ecx, 0xa53b4dbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x64]
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]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000cc10
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x541d36e0
sub edx, 1
sub edx, 0x541d36e0
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, 0xf4b07d58
mov ecx, 0x814481e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0x13f33a38
jmp 0x1000295c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
sub esi, 0xc12c3
add esi, eax
add esi, 0xc12c3
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
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 al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x98], 0x82471408
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x7cf7338c
sub edx, 1
sub edx, 0x7cf7338c
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, 0x4086cf50
mov ecx, 0x95bfa884
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x60]
mov cl, byte [ebp - 0x21]
mov byte [eax], cl
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0xe4b61b91
sub edx, 1
add edx, 0xe4b61b91
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, 0x4086cf50
mov ecx, 0x767eef66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x280437a5
sub edx, 1
sub edx, 0x280437a5
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, 0xa6a4f91c
mov ecx, 0xd24bbf03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x20], ax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0xa0735c1e
sub edx, 1
sub edx, 0xa0735c1e
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, 0xa6a4f91c
mov ecx, 0x4d09f4c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0x7ced9a67
jmp 0x1000295c
mov ax, word [ebp - 0x20]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x1e], ax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0xda6bc03c
sub edx, 1
sub edx, 0xda6bc03c
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, 0xe761dfc
mov ecx, 0xc099cd6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xf7409965
jmp 0x1000295c
mov eax, dword [ebp - 0x6c]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0x98], 0xbf1187ef
jmp 0x1000295c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], 0x1a1504c9
jmp 0x1000295c
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xe3c270e6
jmp 0x1000295c
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0xce1bf9ca
sub edx, 1
add edx, 0xce1bf9ca
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, 0xb6d8ec2c
mov ecx, 0x1b3d2ca8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
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, 0xb6d8ec2c
mov ecx, 0xb65d5f2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x1000295c
mov dword [ebp - 0x98], 0xcb426bd6
jmp 0x1000295c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000beb0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0xd81b5178
jmp 0x1000295c
mov dword [ebp - 0x98], 0x3dffc43
jmp 0x1000295c
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x98], 0xbb5e6c4b
jmp 0x1000295c
mov dword [ebp - 0x98], 0x6a02958e
jmp 0x1000295c
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], 0x908f3c80
jmp 0x1000295c
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x39c201e7
jmp 0x1000295c
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ee20
add esp, 8
mov dword [ebp - 0x98], 0xac0ad57b
jmp 0x1000295c
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xfd88f4b1
add edx, eax
sub edx, 0xfd88f4b1
mov eax, dword [ebp - 0x64]
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]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x60]
mov byte [eax], cl
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x6eeb922c
add ecx, eax
sub ecx, 0x6eeb922c
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000cc10
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0xa53b4dbc
jmp 0x1000295c
mov eax, dword [ebp - 0x60]
mov cl, byte [ebp - 0x21]
mov byte [eax], cl
mov dword [ebp - 0x98], 0x95bfa884
jmp 0x1000295c
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0xd24bbf03
jmp 0x1000295c
mov ax, word [ebp - 0x20]
mov ax, word [ebp - 0x20]
mov dword [ebp - 0x98], 0xb53bf55b
jmp 0x1000295c
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x1b3d2ca8
jmp 0x100010c8