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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x1006d400]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa8], 0x3305c9bd
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x82b9b2db
je 0x100020d6
jmp 0x10001314
mov eax, dword [ebp - 0xb0]
sub eax, 0x833b9e12
je 0x1000250a
jmp 0x1000132a
mov eax, dword [ebp - 0xb0]
sub eax, 0x835e2175
je 0x10001ef4
jmp 0x10001340
mov eax, dword [ebp - 0xb0]
sub eax, 0x857a4c46
je 0x10001a8a
jmp 0x10001356
mov eax, dword [ebp - 0xb0]
sub eax, 0x8b27911b
je 0x100026af
jmp 0x1000136c
mov eax, dword [ebp - 0xb0]
sub eax, 0x8e92db43
je 0x10002397
jmp 0x10001382
mov eax, dword [ebp - 0xb0]
sub eax, 0x927f3ed2
je 0x10002a87
jmp 0x10001398
mov eax, dword [ebp - 0xb0]
sub eax, 0x94bf8fe1
je 0x10001f7b
jmp 0x100013ae
mov eax, dword [ebp - 0xb0]
sub eax, 0x94e01f6e
je 0x10001c7f
jmp 0x100013c4
mov eax, dword [ebp - 0xb0]
sub eax, 0x9778ff07
je 0x1000289f
jmp 0x100013da
mov eax, dword [ebp - 0xb0]
sub eax, 0x9e035305
je 0x10001d6f
jmp 0x100013f0
mov eax, dword [ebp - 0xb0]
sub eax, 0x9e4de467
je 0x10002a1e
jmp 0x10001406
mov eax, dword [ebp - 0xb0]
sub eax, 0xa8bd39dd
je 0x10001ada
jmp 0x1000141c
mov eax, dword [ebp - 0xb0]
sub eax, 0xaa9a8b01
je 0x1000284f
jmp 0x10001432
mov eax, dword [ebp - 0xb0]
sub eax, 0xb4083cec
je 0x1000290e
jmp 0x10001448
mov eax, dword [ebp - 0xb0]
sub eax, 0xb50efeb3
je 0x10002292
jmp 0x1000145e
mov eax, dword [ebp - 0xb0]
sub eax, 0xb5403993
je 0x10001fab
jmp 0x10001474
mov eax, dword [ebp - 0xb0]
sub eax, 0xb7dd90d3
je 0x10001ee5
jmp 0x1000148a
mov eax, dword [ebp - 0xb0]
sub eax, 0xb8d38e98
je 0x10001dc0
jmp 0x100014a0
mov eax, dword [ebp - 0xb0]
sub eax, 0xc1a9ea0f
je 0x100029f1
jmp 0x100014b6
mov eax, dword [ebp - 0xb0]
sub eax, 0xc84f457c
je 0x1000222b
jmp 0x100014cc
mov eax, dword [ebp - 0xb0]
sub eax, 0xcc5431bf
je 0x10001ec7
jmp 0x100014e2
mov eax, dword [ebp - 0xb0]
sub eax, 0xccc3999d
je 0x100026a0
jmp 0x100014f8
mov eax, dword [ebp - 0xb0]
sub eax, 0xd06aadc0
je 0x10001a6c
jmp 0x1000150e
mov eax, dword [ebp - 0xb0]
sub eax, 0xd128d51e
je 0x10001ead
jmp 0x10001524
mov eax, dword [ebp - 0xb0]
sub eax, 0xd549e634
je 0x10002120
jmp 0x1000153a
mov eax, dword [ebp - 0xb0]
sub eax, 0xd5c01554
je 0x1000223a
jmp 0x10001550
mov eax, dword [ebp - 0xb0]
sub eax, 0xd6bf9047
je 0x1000285e
jmp 0x10001566
mov eax, dword [ebp - 0xb0]
sub eax, 0xd75d4ba3
je 0x10001aff
jmp 0x1000157c
mov eax, dword [ebp - 0xb0]
sub eax, 0xda5a6fbb
je 0x10001e81
jmp 0x10001592
mov eax, dword [ebp - 0xb0]
sub eax, 0xe05fb587
je 0x10001e72
jmp 0x100015a8
mov eax, dword [ebp - 0xb0]
sub eax, 0xe922081c
je 0x10002ad3
jmp 0x100015be
mov eax, dword [ebp - 0xb0]
sub eax, 0xf526af32
je 0x10002711
jmp 0x100015d4
mov eax, dword [ebp - 0xb0]
sub eax, 0xf9ec6d07
je 0x100029a9
jmp 0x100015ea
mov eax, dword [ebp - 0xb0]
sub eax, 0xfbaf53c6
je 0x1000258a
jmp 0x10001600
mov eax, dword [ebp - 0xb0]
sub eax, 0xfcd8cda2
je 0x100020b0
jmp 0x10001616
mov eax, dword [ebp - 0xb0]
sub eax, 0xfedce9c9
je 0x100027ce
jmp 0x1000162c
mov eax, dword [ebp - 0xb0]
sub eax, 0x114ac55
je 0x10002785
jmp 0x10001642
mov eax, dword [ebp - 0xb0]
sub eax, 0x6d8985f
je 0x10001d04
jmp 0x10001658
mov eax, dword [ebp - 0xb0]
sub eax, 0x1ac88dd2
je 0x10001f53
jmp 0x1000166e
mov eax, dword [ebp - 0xb0]
sub eax, 0x22ad4573
je 0x100026c8
jmp 0x10001684
mov eax, dword [ebp - 0xb0]
sub eax, 0x238152c3
je 0x100024b9
jmp 0x1000169a
mov eax, dword [ebp - 0xb0]
sub eax, 0x23a468b4
je 0x10001925
jmp 0x100016b0
mov eax, dword [ebp - 0xb0]
sub eax, 0x29222e3c
je 0x10001a99
jmp 0x100016c6
mov eax, dword [ebp - 0xb0]
sub eax, 0x2ba26668
je 0x10001b6d
jmp 0x100016dc
mov eax, dword [ebp - 0xb0]
sub eax, 0x2cdfbba4
je 0x100020a1
jmp 0x100016f2
mov eax, dword [ebp - 0xb0]
sub eax, 0x322e390f
je 0x10001d60
jmp 0x10001708
mov eax, dword [ebp - 0xb0]
sub eax, 0x3305c9bd
je 0x100018af
jmp 0x1000171e
mov eax, dword [ebp - 0xb0]
sub eax, 0x347ddb41
je 0x10002776
jmp 0x10001734
mov eax, dword [ebp - 0xb0]
sub eax, 0x3a543166
je 0x1000260f
jmp 0x1000174a
mov eax, dword [ebp - 0xb0]
sub eax, 0x4d6296d1
je 0x10001c61
jmp 0x10001760
mov eax, dword [ebp - 0xb0]
sub eax, 0x4f14a51a
je 0x100024aa
jmp 0x10001776
mov eax, dword [ebp - 0xb0]
sub eax, 0x5c8b98dc
je 0x10001c8e
jmp 0x1000178c
mov eax, dword [ebp - 0xb0]
sub eax, 0x5dd47907
je 0x10002599
jmp 0x100017a2
mov eax, dword [ebp - 0xb0]
sub eax, 0x62155317
je 0x10002a03
jmp 0x100017b8
mov eax, dword [ebp - 0xb0]
sub eax, 0x628e2e93
je 0x1000249b
jmp 0x100017ce
mov eax, dword [ebp - 0xb0]
sub eax, 0x637fdf66
je 0x10002ab0
jmp 0x100017e4
mov eax, dword [ebp - 0xb0]
sub eax, 0x65e6dc41
je 0x100020fa
jmp 0x100017fa
mov eax, dword [ebp - 0xb0]
sub eax, 0x66bd1625
je 0x10002a99
jmp 0x10001810
mov eax, dword [ebp - 0xb0]
sub eax, 0x67b118be
je 0x100022fa
jmp 0x10001826
mov eax, dword [ebp - 0xb0]
sub eax, 0x68913aac
je 0x10001a5d
jmp 0x1000183c
mov eax, dword [ebp - 0xb0]
sub eax, 0x6da11908
je 0x1000240d
jmp 0x10001852
mov eax, dword [ebp - 0xb0]
sub eax, 0x70182681
je 0x10002196
jmp 0x10001868
mov eax, dword [ebp - 0xb0]
sub eax, 0x73336771
je 0x10002021
jmp 0x1000187e
mov eax, dword [ebp - 0xb0]
sub eax, 0x7546b29a
je 0x1000288e
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0x13e2169f
sub edx, 1
add edx, 0x13e2169f
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, 0x9778ff07
mov ecx, 0x23a468b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0xac]
push eax
mov ecx, esp
mov dword [ebp - 0x9c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x98], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x94], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x90], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x80], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa4], 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.100106a0
add esp, 0xc
mov eax, dword [ebp - 0xa0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x69], al
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
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, 0x9778ff07
mov ecx, 0x68913aac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0xd06aadc0
jmp 0x10002ae3
mov dl, byte [ebp - 0x69]
mov eax, 0x857a4c46
mov ecx, 0x29222e3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x7546b29a
jmp 0x10002ae3
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xa4]
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
lea eax, [ebp - 0x18]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0xa8], 0xa8bd39dd
jmp 0x10002ae3
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa8], 0xd75d4ba3
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
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, 0xb4083cec
mov ecx, 0x2ba26668
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
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 eax, dword [ebp - 0x94]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x5d], al
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
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, 0xb4083cec
mov ecx, 0x4d6296d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dl, byte [ebp - 0x5d]
mov eax, 0x5c8b98dc
mov ecx, 0x94e01f6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x7546b29a
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
add edx, 0x3332ae8f
sub edx, 1
sub edx, 0x3332ae8f
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, 0x7bf1c085
mov ecx, 0x6d8985f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
mov edx, eax
sub edx, 0x4ec54881
sub edx, 1
add edx, 0x4ec54881
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, 0x7bf1c085
mov ecx, 0x322e390f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x9e035305
jmp 0x10002ae3
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
mov edx, eax
add edx, 0x1d1aaf8
sub edx, 1
sub edx, 0x1d1aaf8
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, 0xf9ec6d07
mov ecx, 0xb8d38e98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x5c]
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 - 0x58], eax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
add edx, 0x2191aac2
sub edx, 1
sub edx, 0x2191aac2
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, 0xf9ec6d07
mov ecx, 0xe05fb587
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0xda5a6fbb
jmp 0x10002ae3
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0xd128d51e
mov ecx, 0x835e2175
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa8], 0xcc5431bf
jmp 0x10002ae3
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0xb7dd90d3
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x7546b29a
jmp 0x10002ae3
mov eax, dword [ebp - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0x1ac88dd2
jmp 0x10002ae3
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa8], 0x94bf8fe1
jmp 0x10002ae3
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [ebp - 0xa8], 0xb5403993
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0x7694d924
sub edx, 1
add edx, 0x7694d924
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, 0xc1a9ea0f
mov ecx, 0x73336771
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x46], ax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0x4f7ab680
sub edx, 1
add edx, 0x4f7ab680
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, 0xc1a9ea0f
mov ecx, 0x2cdfbba4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0xfcd8cda2
jmp 0x10002ae3
mov ax, word [ebp - 0x46]
movzx eax, ax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x3e], ax
mov dword [ebp - 0xa8], 0x82b9b2db
jmp 0x10002ae3
mov ax, word [ebp - 0x3e]
movzx esi, ax
mov edx, dword [ebp - 0x44]
mov eax, 0x22ad4573
mov ecx, 0x65e6dc41
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x80]
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 dword [ebp - 0x3c], eax
mov dword [ebp - 0xa8], 0xd549e634
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0xbbb35bd9
sub edx, 1
add edx, 0xbbb35bd9
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, 0x62155317
mov ecx, 0x70182681
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x34], ax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
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, 0x62155317
mov ecx, 0xc84f457c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0xd5c01554
jmp 0x10002ae3
mov ax, word [ebp - 0x34]
movzx eax, ax
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x38]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001c3b0
call fcn.10012a10
add esp, 8
mov edx, eax
mov eax, 0xb50efeb3
mov ecx, 0x4f14a51a
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xa78d1c4e
add edx, eax
sub edx, 0xa78d1c4e
mov eax, dword [ebp - 0x74]
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 al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0xa8], 0x67b118be
jmp 0x10002ae3
mov cl, byte [ebp - 0x31]
and cl, 1
mov eax, dword [ebp - 0x70]
mov byte [eax], cl
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x1272bf00
add edx, eax
sub edx, 0x1272bf00
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x1c9af35f
add ecx, eax
sub ecx, 0x1c9af35f
mov eax, dword [ebp - 0x78]
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.10010800
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa8], 0x8e92db43
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0x4a983d51
sub edx, 1
add edx, 0x4a983d51
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, 0x9e4de467
mov ecx, 0x6da11908
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov esi, dword [ebp - 0x28]
add esi, 0xace0d1dc
add esi, eax
sub esi, 0xace0d1dc
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
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 - 0x70]
mov byte [eax], cl
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
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, 0x9e4de467
mov ecx, 0x628e2e93
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x4f14a51a
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x238152c3
jmp 0x10002ae3
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
mov edx, eax
add edx, 0xd241ac56
sub edx, 1
sub edx, 0xd241ac56
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, 0x927f3ed2
mov ecx, 0x833b9e12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x20], ax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
add edx, 0x167ecdd6
sub edx, 1
sub edx, 0x167ecdd6
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, 0x927f3ed2
mov ecx, 0xfbaf53c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x5dd47907
jmp 0x10002ae3
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
add edx, 0xa67b41b2
sub edx, 1
sub edx, 0xa67b41b2
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, 0x66bd1625
mov ecx, 0x3a543166
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov ax, word [ebp - 0x20]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x1e], ax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
add edx, 0x423c0612
sub edx, 1
sub edx, 0x423c0612
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, 0x66bd1625
mov ecx, 0xccc3999d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x8b27911b
jmp 0x10002ae3
mov eax, dword [ebp - 0x7c]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0xa8], 0xb5403993
jmp 0x10002ae3
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
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, 0x637fdf66
mov ecx, 0xf526af32
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
mov edx, eax
sub edx, 0x558e0120
sub edx, 1
add edx, 0x558e0120
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, 0x637fdf66
mov ecx, 0x347ddb41
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0x114ac55
jmp 0x10002ae3
mov eax, dword [0x1006e748]
mov ecx, dword [0x1006e744]
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, 0xe922081c
mov ecx, 0xfedce9c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x1006e748]
mov eax, dword [0x1006e744]
mov edx, ecx
sub edx, 0x22214528
sub edx, 1
add edx, 0x22214528
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, 0xe922081c
mov ecx, 0xaa9a8b01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10002ae3
mov dword [ebp - 0xa8], 0xd6bf9047
jmp 0x10002ae3
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x7546b29a
jmp 0x10002ae3
mov eax, dword [ebp - 0xac]
push eax
mov ecx, esp
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa4], 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.100106a0
add esp, 0xc
mov eax, dword [ebp - 0xa0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0x23a468b4
jmp 0x10002ae3
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
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 eax, dword [ebp - 0x94]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], 0x2ba26668
jmp 0x10002ae3
mov eax, dword [ebp - 0x5c]
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 - 0xa8], 0xb8d38e98
jmp 0x10002ae3
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa8], 0x73336771
jmp 0x10002ae3
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa8], 0x70182681
jmp 0x10002ae3
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x28]
sub esi, 0xccc13c3d
add esi, eax
add esi, 0xccc13c3d
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
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 - 0x70]
mov byte [eax], cl
mov dword [ebp - 0xa8], 0x6da11908
jmp 0x10002ae3
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa8], 0x833b9e12
jmp 0x10002ae3
mov ax, word [ebp - 0x20]
mov ax, word [ebp - 0x20]
mov dword [ebp - 0xa8], 0x3a543166
jmp 0x10002ae3
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0xf526af32
jmp 0x10002ae3
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], 0xfedce9c9
jmp 0x100012f8