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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x198
mov eax, dword [ebp + 8]
mov dword [ebp - 0x19c], eax
mov eax, dword [0x1006ae00]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x198], 0xb6f4c212
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
sub eax, 0x81745de9
je 0x10001e38
jmp 0x100012e4
mov eax, dword [ebp - 0x1a0]
sub eax, 0x81d4e93a
je 0x10001adf
jmp 0x100012fa
mov eax, dword [ebp - 0x1a0]
sub eax, 0x8319e976
je 0x10002668
jmp 0x10001310
mov eax, dword [ebp - 0x1a0]
sub eax, 0x838f29ba
je 0x10001d33
jmp 0x10001326
mov eax, dword [ebp - 0x1a0]
sub eax, 0x8680370e
je 0x10002747
jmp 0x1000133c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x88221b6c
je 0x100024cb
jmp 0x10001352
mov eax, dword [ebp - 0x1a0]
sub eax, 0x88ed6eab
je 0x10001cdb
jmp 0x10001368
mov eax, dword [ebp - 0x1a0]
sub eax, 0x968d9f37
je 0x100023de
jmp 0x1000137e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x9a3d5d16
je 0x10001db3
jmp 0x10001394
mov eax, dword [ebp - 0x1a0]
sub eax, 0x9b4ad1c5
je 0x100019c1
jmp 0x100013aa
mov eax, dword [ebp - 0x1a0]
sub eax, 0xa0f9ddaa
je 0x100026c2
jmp 0x100013c0
mov eax, dword [ebp - 0x1a0]
sub eax, 0xac937712
je 0x10001958
jmp 0x100013d6
mov eax, dword [ebp - 0x1a0]
sub eax, 0xae1fe6ec
je 0x100026e3
jmp 0x100013ec
mov eax, dword [ebp - 0x1a0]
sub eax, 0xaebf23c6
je 0x1000236e
jmp 0x10001402
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb5d11550
je 0x10002647
jmp 0x10001418
mov eax, dword [ebp - 0x1a0]
sub eax, 0xb6f4c212
je 0x1000183d
jmp 0x1000142e
mov eax, dword [ebp - 0x1a0]
sub eax, 0xbee4d3d5
je 0x100026f2
jmp 0x10001444
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc0b27587
je 0x1000259f
jmp 0x1000145a
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc25037ac
je 0x10002627
jmp 0x10001470
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc4e601b9
je 0x10001c3d
jmp 0x10001486
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc5c45613
je 0x10001ffb
jmp 0x1000149c
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc8a34ba3
je 0x1000250c
jmp 0x100014b2
mov eax, dword [ebp - 0x1a0]
sub eax, 0xcadfdf77
je 0x1000281e
jmp 0x100014c8
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd023675f
je 0x1000227c
jmp 0x100014de
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd33b6979
je 0x1000209b
jmp 0x100014f4
mov eax, dword [ebp - 0x1a0]
sub eax, 0xd7e23c45
je 0x1000254e
jmp 0x1000150a
mov eax, dword [ebp - 0x1a0]
sub eax, 0xdb66e2b2
je 0x10002636
jmp 0x10001520
mov eax, dword [ebp - 0x1a0]
sub eax, 0xf77b6c46
je 0x10001ed9
jmp 0x10001536
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1b406f9
je 0x10002848
jmp 0x1000154c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x23d1ac9
je 0x10001e81
jmp 0x10001562
mov eax, dword [ebp - 0x1a0]
sub eax, 0xc50a16e
je 0x10002839
jmp 0x10001578
mov eax, dword [ebp - 0x1a0]
sub eax, 0xe3f3ffb
je 0x10001e90
jmp 0x1000158e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1bfb3337
je 0x1000188e
jmp 0x100015a4
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1c45eef9
je 0x1000226d
jmp 0x100015ba
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1eebb238
je 0x10001cea
jmp 0x100015d0
mov eax, dword [ebp - 0x1a0]
sub eax, 0x1fc98f00
je 0x10001c12
jmp 0x100015e6
mov eax, dword [ebp - 0x1a0]
sub eax, 0x24ad244e
je 0x10001ad0
jmp 0x100015fc
mov eax, dword [ebp - 0x1a0]
sub eax, 0x284f96b4
je 0x1000237d
jmp 0x10001612
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2950bcae
je 0x1000252d
jmp 0x10001628
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2aff54db
je 0x100024fd
jmp 0x1000163e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2b6d894e
je 0x100024ac
jmp 0x10001654
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2be36b02
je 0x1000215c
jmp 0x1000166a
mov eax, dword [ebp - 0x1a0]
sub eax, 0x2f21bbd5
je 0x100026b3
jmp 0x10001680
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3091d0d0
je 0x100019d0
jmp 0x10001696
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3a944e3d
je 0x10001b4b
jmp 0x100016ac
mov eax, dword [ebp - 0x1a0]
sub eax, 0x3d1d385b
je 0x10002045
jmp 0x100016c2
mov eax, dword [ebp - 0x1a0]
sub eax, 0x40e79522
je 0x10001c03
jmp 0x100016d8
mov eax, dword [ebp - 0x1a0]
sub eax, 0x412b1773
je 0x10001dc2
jmp 0x100016ee
mov eax, dword [ebp - 0x1a0]
sub eax, 0x42c5ed8d
je 0x10001f92
jmp 0x10001704
mov eax, dword [ebp - 0x1a0]
sub eax, 0x452ad5f3
je 0x100020c2
jmp 0x1000171a
mov eax, dword [ebp - 0x1a0]
sub eax, 0x4a7d7825
je 0x1000244c
jmp 0x10001730
mov eax, dword [ebp - 0x1a0]
sub eax, 0x5411aa55
je 0x1000249d
jmp 0x10001746
mov eax, dword [ebp - 0x1a0]
sub eax, 0x55846379
je 0x10001949
jmp 0x1000175c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x56e85caf
je 0x10001fce
jmp 0x10001772
mov eax, dword [ebp - 0x1a0]
sub eax, 0x57c75a6b
je 0x10001fdd
jmp 0x10001788
mov eax, dword [ebp - 0x1a0]
sub eax, 0x5b104c6c
je 0x1000210b
jmp 0x1000179e
mov eax, dword [ebp - 0x1a0]
sub eax, 0x63241761
je 0x10001a0c
jmp 0x100017b4
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6a0961ab
je 0x100022f2
jmp 0x100017ca
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6ab4786b
je 0x10001c86
jmp 0x100017e0
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6e535614
je 0x1000201b
jmp 0x100017f6
mov eax, dword [ebp - 0x1a0]
sub eax, 0x6f28fb15
je 0x10001afa
jmp 0x1000180c
mov eax, dword [ebp - 0x1a0]
sub eax, 0x7d665b30
je 0x10001a3f
jmp 0x10001822
mov eax, dword [ebp - 0x1a0]
sub eax, 0x7fbca046
je 0x10001f83
jmp 0x10001838
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
sub edx, 0x98b772ed
sub edx, 1
add edx, 0x98b772ed
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, 0xb5d11550
mov ecx, 0x1bfb3337
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x19c]
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
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x160], eax
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
mov edx, ecx
sub edx, 0xf7e5f0a7
sub edx, 1
add edx, 0xf7e5f0a7
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, 0xb5d11550
mov ecx, 0x55846379
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xac937712
jmp 0x10002864
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x17c], 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.1000c600
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
mov eax, 0x9b4ad1c5
mov ecx, 0x3091d0d0
cmp dword [ebp - 0x180], 0
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xdb66e2b2
jmp 0x10002864
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
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 dword [ebp - 0x198], 0x63241761
jmp 0x10002864
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x198], 0x7d665b30
jmp 0x10002864
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x158]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
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 - 0x188], eax
mov edx, 0xffffffff
mov eax, 0x81d4e93a
mov ecx, 0x24ad244e
cmp dword [ebp - 0x188], edx
cmove eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xdb66e2b2
jmp 0x10002864
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x198], 0x6f28fb15
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
sub edx, 0x59649c0e
sub edx, 1
add edx, 0x59649c0e
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, 0x8319e976
mov ecx, 0x3a944e3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x154]
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 - 0x150], eax
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
mov edx, ecx
add edx, 0xd58051ac
sub edx, 1
sub edx, 0xd58051ac
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, 0x8319e976
mov ecx, 0x40e79522
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x1fc98f00
jmp 0x10002864
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x18c], eax
mov eax, 0xc4e601b9
mov ecx, 0xe3f3ffb
cmp dword [ebp - 0x18c], 0
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0x2f21bbd5
mov ecx, 0x6ab4786b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0x2f21bbd5
mov ecx, 0x88ed6eab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x1eebb238
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0xa0f9ddaa
mov ecx, 0x838f29ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x14c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
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, 0xa0f9ddaa
mov ecx, 0x9a3d5d16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x412b1773
jmp 0x10002864
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
mov edx, ecx
add edx, 0x25238ee2
sub edx, 1
sub edx, 0x25238ee2
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, 0xae1fe6ec
mov ecx, 0x81745de9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0xae1fe6ec
mov ecx, 0x23d1ac9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xdb66e2b2
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0xbee4d3d5
mov ecx, 0xf77b6c46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x18c]
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 dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x144], eax
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
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, 0xbee4d3d5
mov ecx, 0x7fbca046
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x42c5ed8d
jmp 0x10002864
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x144]
sub ecx, 0x55e22ce9
add ecx, eax
add ecx, 0x55e22ce9
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov word [eax], 0
mov dword [ebp - 0x198], 0x56e85caf
jmp 0x10002864
mov dword [ebp - 0x198], 0x57c75a6b
jmp 0x10002864
mov eax, dword [ebp - 0x170]
movzx eax, word [eax]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x198], 0xc5c45613
jmp 0x10002864
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x198], 0x6e535614
jmp 0x10002864
mov eax, dword [ebp - 0x13c]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x140]
mov eax, 0xc8a34ba3
mov ecx, 0x3d1d385b
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x174]
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 - 0x174]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x3545c16e
add eax, ecx
sub eax, 0x3545c16e
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x170]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x198], 0xd33b6979
jmp 0x10002864
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x198], 0x452ad5f3
jmp 0x10002864
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e970
add esp, 8
mov edx, eax
mov eax, 0x5b104c6c
mov ecx, 0x968d9f37
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
add edx, 0x234cffca
sub edx, 1
sub edx, 0x234cffca
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, 0x8680370e
mov ecx, 0x2be36b02
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x168]
mov dword [eax], 0
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x9cd9c3b7
add edx, eax
add edx, 0x9cd9c3b7
mov eax, dword [ebp - 0x168]
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 - 0x164]
mov byte [eax], cl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xb1a28e38
add ecx, eax
add ecx, 0xb1a28e38
mov eax, dword [ebp - 0x16c]
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.1000c760
add esp, 0xc
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
add edx, 0x8b0bfb74
sub edx, 1
sub edx, 0x8b0bfb74
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, 0x8680370e
mov ecx, 0x1c45eef9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xd023675f
jmp 0x10002864
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
mov edx, ecx
add edx, 0x65babedf
sub edx, 1
sub edx, 0x65babedf
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, 0xcadfdf77
mov ecx, 0x6a0961ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x124], eax
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
sub edx, 0xf81712aa
sub edx, 1
add edx, 0xf81712aa
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, 0xcadfdf77
mov ecx, 0xaebf23c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x284f96b4
jmp 0x10002864
mov esi, dword [ebp - 0x124]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x128]
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 - 0x164]
mov byte [eax], cl
mov dword [ebp - 0x198], 0x968d9f37
jmp 0x10002864
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
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, 0xc50a16e
mov ecx, 0x4a7d7825
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
sub edx, 0x2f974b26
sub edx, 1
add edx, 0x2f974b26
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, 0xc50a16e
mov ecx, 0x5411aa55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0x2b6d894e
jmp 0x10002864
mov eax, dword [ebp - 0x170]
mov ax, word [eax]
mov word [ebp - 0x11e], ax
mov dword [ebp - 0x198], 0x88221b6c
jmp 0x10002864
mov cx, word [ebp - 0x11e]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x170]
mov word [eax], cx
mov dword [ebp - 0x198], 0x2aff54db
jmp 0x10002864
mov dword [ebp - 0x198], 0x57c75a6b
jmp 0x10002864
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0x2950bcae
jmp 0x10002864
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0xd7e23c45
jmp 0x10002864
mov eax, dword [0x1006c140]
mov ecx, dword [0x1006c13c]
mov edx, eax
add edx, 0x2348b3aa
sub edx, 1
sub edx, 0x2348b3aa
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, 0x1b406f9
mov ecx, 0xc0b27587
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006c140]
mov eax, dword [0x1006c13c]
mov edx, ecx
sub edx, 0x4bf4f796
sub edx, 1
add edx, 0x4bf4f796
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, 0x1b406f9
mov ecx, 0xc25037ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x198], eax
jmp 0x10002864
mov dword [ebp - 0x198], 0xdb66e2b2
jmp 0x10002864
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000ba00
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x198], 0x1bfb3337
jmp 0x10002864
mov eax, dword [ebp - 0x154]
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 - 0x198], 0x3a944e3d
jmp 0x10002864
mov dword [ebp - 0x198], 0x6ab4786b
jmp 0x10002864
mov eax, dword [ebp - 0x14c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0x838f29ba
jmp 0x10002864
mov dword [ebp - 0x198], 0x81745de9
jmp 0x10002864
mov eax, dword [ebp - 0x18c]
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 dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], 0xf77b6c46
jmp 0x10002864
mov eax, dword [ebp - 0x168]
mov dword [eax], 0
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
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 - 0x168]
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 - 0x164]
mov byte [eax], cl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xc9296dc3
add edx, eax
sub edx, 0xc9296dc3
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x70783bfe
add ecx, eax
sub ecx, 0x70783bfe
mov eax, dword [ebp - 0x16c]
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.1000c760
add esp, 0xc
mov dword [ebp - 0x198], 0x2be36b02
jmp 0x10002864
mov eax, dword [ebp - 0x168]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x198], 0x6a0961ab
jmp 0x10002864
mov dword [ebp - 0x198], 0x4a7d7825
jmp 0x10002864
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x198], 0xc0b27587
jmp 0x100012c8