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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x188
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18c], eax
mov eax, dword [0x1006c000]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x188], 0xed40c8b1
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x190], eax
sub eax, 0x82de90ec
je 0x10002680
jmp 0x10001334
mov eax, dword [ebp - 0x190]
sub eax, 0x86d582af
je 0x10002217
jmp 0x1000134a
mov eax, dword [ebp - 0x190]
sub eax, 0x86f1aaef
je 0x10001d28
jmp 0x10001360
mov eax, dword [ebp - 0x190]
sub eax, 0x93754aaf
je 0x10002097
jmp 0x10001376
mov eax, dword [ebp - 0x190]
sub eax, 0x9d994b50
je 0x10001ef9
jmp 0x1000138c
mov eax, dword [ebp - 0x190]
sub eax, 0x9dab8750
je 0x10001cba
jmp 0x100013a2
mov eax, dword [ebp - 0x190]
sub eax, 0xa2630c94
je 0x100027b4
jmp 0x100013b8
mov eax, dword [ebp - 0x190]
sub eax, 0xa5f98039
je 0x10002109
jmp 0x100013ce
mov eax, dword [ebp - 0x190]
sub eax, 0xb0c902e5
je 0x1000206f
jmp 0x100013e4
mov eax, dword [ebp - 0x190]
sub eax, 0xb552efee
je 0x10002472
jmp 0x100013fa
mov eax, dword [ebp - 0x190]
sub eax, 0xb686bd85
je 0x1000217f
jmp 0x10001410
mov eax, dword [ebp - 0x190]
sub eax, 0xc72fec2d
je 0x10002587
jmp 0x10001426
mov eax, dword [ebp - 0x190]
sub eax, 0xc7a8f46c
je 0x10002226
jmp 0x1000143c
mov eax, dword [ebp - 0x190]
sub eax, 0xc7bd0b1f
je 0x10001ebd
jmp 0x10001452
mov eax, dword [ebp - 0x190]
sub eax, 0xcc9953e5
je 0x1000203f
jmp 0x10001468
mov eax, dword [ebp - 0x190]
sub eax, 0xcce6069d
je 0x1000242a
jmp 0x1000147e
mov eax, dword [ebp - 0x190]
sub eax, 0xd0ec574c
je 0x10001ac3
jmp 0x10001494
mov eax, dword [ebp - 0x190]
sub eax, 0xd170eee4
je 0x10001f14
jmp 0x100014aa
mov eax, dword [ebp - 0x190]
sub eax, 0xd2d98c74
je 0x10002545
jmp 0x100014c0
mov eax, dword [ebp - 0x190]
sub eax, 0xd6a79be1
je 0x1000261e
jmp 0x100014d6
mov eax, dword [ebp - 0x190]
sub eax, 0xd9f56433
je 0x100019c9
jmp 0x100014ec
mov eax, dword [ebp - 0x190]
sub eax, 0xe1035109
je 0x10001df6
jmp 0x10001502
mov eax, dword [ebp - 0x190]
sub eax, 0xeaed7f22
je 0x10001bad
jmp 0x10001518
mov eax, dword [ebp - 0x190]
sub eax, 0xed40c8b1
je 0x1000184b
jmp 0x1000152e
mov eax, dword [ebp - 0x190]
sub eax, 0xf21e52dd
je 0x1000238e
jmp 0x10001544
mov eax, dword [ebp - 0x190]
sub eax, 0xfb687f6e
je 0x100026f4
jmp 0x1000155a
mov eax, dword [ebp - 0x190]
sub eax, 0xfe6125a1
je 0x10002784
jmp 0x10001570
mov eax, dword [ebp - 0x190]
sub eax, 0xfee0db49
je 0x10002763
jmp 0x10001586
mov eax, dword [ebp - 0x190]
sub eax, 0x8c84bac
je 0x100020b6
jmp 0x1000159c
mov eax, dword [ebp - 0x190]
sub eax, 0xceda42b
je 0x1000228a
jmp 0x100015b2
mov eax, dword [ebp - 0x190]
sub eax, 0xf97009d
je 0x100019ba
jmp 0x100015c8
mov eax, dword [ebp - 0x190]
sub eax, 0x1c697fcc
je 0x100020e8
jmp 0x100015de
mov eax, dword [ebp - 0x190]
sub eax, 0x1c94a1ea
je 0x10001aa2
jmp 0x100015f4
mov eax, dword [ebp - 0x190]
sub eax, 0x1d0348c4
je 0x10001ed8
jmp 0x1000160a
mov eax, dword [ebp - 0x190]
sub eax, 0x1dcd677d
je 0x10002453
jmp 0x10001620
mov eax, dword [ebp - 0x190]
sub eax, 0x24fefca1
je 0x10001fde
jmp 0x10001636
mov eax, dword [ebp - 0x190]
sub eax, 0x2a2d8fa5
je 0x10002554
jmp 0x1000164c
mov eax, dword [ebp - 0x190]
sub eax, 0x30543682
je 0x10001b88
jmp 0x10001662
mov eax, dword [ebp - 0x190]
sub eax, 0x382f0a56
je 0x100026e5
jmp 0x10001678
mov eax, dword [ebp - 0x190]
sub eax, 0x395750f2
je 0x100023fc
jmp 0x1000168e
mov eax, dword [ebp - 0x190]
sub eax, 0x3eb1a28e
je 0x1000266f
jmp 0x100016a4
mov eax, dword [ebp - 0x190]
sub eax, 0x424e2702
je 0x100022d3
jmp 0x100016ba
mov eax, dword [ebp - 0x190]
sub eax, 0x4399c6c8
je 0x10001c23
jmp 0x100016d0
mov eax, dword [ebp - 0x190]
sub eax, 0x49367a88
je 0x10001eae
jmp 0x100016e6
mov eax, dword [ebp - 0x190]
sub eax, 0x4f33860a
je 0x10001f65
jmp 0x100016fc
mov eax, dword [ebp - 0x190]
sub eax, 0x51784ac3
je 0x10001ad2
jmp 0x10001712
mov eax, dword [ebp - 0x190]
sub eax, 0x51e3f262
je 0x100027a5
jmp 0x10001728
mov eax, dword [ebp - 0x190]
sub eax, 0x572e83b7
je 0x100025a8
jmp 0x1000173e
mov eax, dword [ebp - 0x190]
sub eax, 0x59daf8c8
je 0x10001d71
jmp 0x10001754
mov eax, dword [ebp - 0x190]
sub eax, 0x5a5b2533
je 0x10002712
jmp 0x1000176a
mov eax, dword [ebp - 0x190]
sub eax, 0x5ae509e7
je 0x1000240b
jmp 0x10001780
mov eax, dword [ebp - 0x190]
sub eax, 0x5ce7ef15
je 0x10002703
jmp 0x10001796
mov eax, dword [ebp - 0x190]
sub eax, 0x5fb6416f
je 0x100018c1
jmp 0x100017ac
mov eax, dword [ebp - 0x190]
sub eax, 0x61ce3309
je 0x10001fc0
jmp 0x100017c2
mov eax, dword [ebp - 0x190]
sub eax, 0x6269db7d
je 0x10001a1a
jmp 0x100017d8
mov eax, dword [ebp - 0x190]
sub eax, 0x669bc38a
je 0x100024c3
jmp 0x100017ee
mov eax, dword [ebp - 0x190]
sub eax, 0x66bd7a4b
je 0x10001d80
jmp 0x10001804
mov eax, dword [ebp - 0x190]
sub eax, 0x68dffb8d
je 0x10002251
jmp 0x1000181a
mov eax, dword [ebp - 0x190]
sub eax, 0x6a5bfd52
je 0x10001fcf
jmp 0x10001830
mov eax, dword [ebp - 0x190]
sub eax, 0x6da86677
je 0x10001c99
jmp 0x10001846
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0x285eceb7
sub edx, 1
sub edx, 0x285eceb7
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, 0x82de90ec
mov ecx, 0x5fb6416f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x160], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x15c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x158], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x168], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x16c], 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.1000d1b0
add esp, 0xc
mov eax, dword [ebp - 0x168]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0xe4b09ab
sub edx, 1
sub edx, 0xe4b09ab
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, 0x82de90ec
mov ecx, 0xf97009d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0xd9f56433
jmp 0x100027be
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
mov edx, eax
sub edx, 0x7ed5a800
sub edx, 1
add edx, 0x7ed5a800
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, 0x382f0a56
mov ecx, 0x6269db7d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
cmp dword [ebp - 0x170], 0
setne al
and al, 1
mov byte [ebp - 0x14e], al
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0x66242cfb
sub edx, 1
sub edx, 0x66242cfb
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, 0x382f0a56
mov ecx, 0x1c94a1ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dl, byte [ebp - 0x14e]
mov eax, 0xd0ec574c
mov ecx, 0x51784ac3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0x572e83b7
jmp 0x100027be
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
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 - 0x174], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x170]
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 - 0x178], eax
mov dword [ebp - 0x188], 0x30543682
jmp 0x100027be
mov eax, 0xffffffff
cmp dword [ebp - 0x178], eax
sete al
and al, 1
mov byte [ebp - 0x14d], al
mov dword [ebp - 0x188], 0xeaed7f22
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0x6917f484
sub edx, 1
sub edx, 0x6917f484
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, 0xfb687f6e
mov ecx, 0x4399c6c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0x78ab1286
sub edx, 1
sub edx, 0x78ab1286
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, 0xfb687f6e
mov ecx, 0x6da86677
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dl, byte [ebp - 0x14d]
mov eax, 0x66bd7a4b
mov ecx, 0x9dab8750
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
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, 0x5ce7ef15
mov ecx, 0x86f1aaef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
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, 0x5ce7ef15
mov ecx, 0x59daf8c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0x572e83b7
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
sub edx, 0xb80dbb2
sub edx, 1
add edx, 0xb80dbb2
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, 0x5a5b2533
mov ecx, 0xe1035109
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x178]
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 - 0x17c], eax
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0xccc2c6a5
sub edx, 1
sub edx, 0xccc2c6a5
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, 0x5a5b2533
mov ecx, 0x49367a88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0xc7bd0b1f
jmp 0x100027be
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x188], 0x1d0348c4
jmp 0x100027be
mov edx, dword [ebp - 0x14c]
mov eax, 0x9d994b50
mov ecx, 0x24fefca1
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x188], 0xd170eee4
jmp 0x100027be
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
mov edx, eax
sub edx, 0x297919ad
sub edx, 1
add edx, 0x297919ad
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, 0xfee0db49
mov ecx, 0x4f33860a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x148]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
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, 0xfee0db49
mov ecx, 0x61ce3309
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0x6a5bfd52
jmp 0x100027be
mov dword [ebp - 0x188], 0x572e83b7
jmp 0x100027be
mov eax, dword [ebp - 0x17c]
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 - 0x180], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x188], 0xcc9953e5
jmp 0x100027be
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x144]
sub eax, 0xa0c58999
add eax, ecx
add eax, 0xa0c58999
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x188], 0xb0c902e5
jmp 0x100027be
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x164]
mov dword [eax], ecx
mov eax, dword [ebp - 0x160]
mov word [eax], 0
mov dword [ebp - 0x188], 0x93754aaf
jmp 0x100027be
mov eax, dword [ebp - 0x160]
mov ax, word [eax]
mov word [ebp - 0x13c], ax
mov dword [ebp - 0x188], 0x8c84bac
jmp 0x100027be
mov ax, word [ebp - 0x13c]
movzx eax, ax
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x139], al
mov dword [ebp - 0x188], 0x1c697fcc
jmp 0x100027be
mov dl, byte [ebp - 0x139]
mov eax, 0xb552efee
mov ecx, 0xa5f98039
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
sub edx, 0xed3db7b8
sub edx, 1
add edx, 0xed3db7b8
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, 0xfe6125a1
mov ecx, 0xb686bd85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
add eax, 0x707bb83a
add eax, 0x18
sub eax, 0x707bb83a
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x160]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x138], eax
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
mov edx, eax
add edx, 0x86438f9e
sub edx, 1
sub edx, 0x86438f9e
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, 0xfe6125a1
mov ecx, 0x86d582af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0xc7a8f46c
jmp 0x100027be
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x15c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x188], 0x68dffb8d
jmp 0x100027be
mov ecx, dword [ebp - 0x134]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100193b0
call fcn.1000f520
add esp, 8
mov edx, eax
mov eax, 0xceda42b
mov ecx, 0x395750f2
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x158]
mov dword [eax], 0
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x15c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x188], 0x424e2702
jmp 0x100027be
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x130]
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 - 0x154]
mov byte [eax], cl
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x323c4b3b
add edx, eax
sub edx, 0x323c4b3b
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x15c]
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 - 0x15c]
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.1000d310
add esp, 0xc
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x188], 0xf21e52dd
jmp 0x100027be
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x85a8e2ef
add esi, eax
sub esi, 0x85a8e2ef
mov eax, dword [ebp - 0x158]
mov ecx, 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 - 0x154]
mov byte [eax], cl
mov dword [ebp - 0x188], 0x395750f2
jmp 0x100027be
mov dword [ebp - 0x188], 0x5ae509e7
jmp 0x100027be
mov eax, dword [ebp - 0x160]
mov ax, word [eax]
mov word [ebp - 0x124], ax
mov dword [ebp - 0x188], 0xcce6069d
jmp 0x100027be
mov ax, word [ebp - 0x124]
sub ax, 0x661
add ax, 1
add ax, 0x661
mov word [ebp - 0x122], ax
mov dword [ebp - 0x188], 0x1dcd677d
jmp 0x100027be
mov eax, dword [ebp - 0x160]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x188], 0x93754aaf
jmp 0x100027be
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
mov edx, eax
add edx, 0xbd1e8e43
sub edx, 1
sub edx, 0xbd1e8e43
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, 0x51e3f262
mov ecx, 0x669bc38a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
add edx, 0x8c5f75f
sub edx, 1
sub edx, 0x8c5f75f
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, 0x51e3f262
mov ecx, 0xd2d98c74
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov dword [ebp - 0x188], 0x2a2d8fa5
jmp 0x100027be
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], 0xc72fec2d
jmp 0x100027be
mov eax, dword [ebp - 0x16c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], 0x572e83b7
jmp 0x100027be
mov ecx, dword [0x1006d338]
mov eax, dword [0x1006d334]
mov edx, ecx
sub edx, 0xcfefbae9
sub edx, 1
add edx, 0xcfefbae9
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, 0xa2630c94
mov ecx, 0xd6a79be1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov eax, dword [0x1006d338]
mov ecx, dword [0x1006d334]
mov edx, eax
sub edx, 0x74726728
sub edx, 1
add edx, 0x74726728
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, 0xa2630c94
mov ecx, 0x3eb1a28e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x100027be
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000c5b0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x168], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x16c], 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.1000d1b0
add esp, 0xc
mov eax, dword [ebp - 0x168]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x188], 0x5fb6416f
jmp 0x100027be
mov dword [ebp - 0x188], 0x6269db7d
jmp 0x100027be
mov dword [ebp - 0x188], 0x4399c6c8
jmp 0x100027be
mov dword [ebp - 0x188], 0x86f1aaef
jmp 0x100027be
mov eax, dword [ebp - 0x178]
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 - 0x17c], eax
mov dword [ebp - 0x188], 0xe1035109
jmp 0x100027be
mov eax, dword [ebp - 0x148]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], 0x4f33860a
jmp 0x100027be
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x188], 0xb686bd85
jmp 0x100027be
mov dword [ebp - 0x188], 0x669bc38a
jmp 0x100027be
mov dword [ebp - 0x188], 0xd6a79be1
jmp 0x10001318