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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1b4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b8], eax
mov eax, dword [0x1006ba00]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1b4], 0xf1c78c41
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
sub eax, 0x80fa8d98
je 0x10001cc9
jmp 0x100014a4
mov eax, dword [ebp - 0x1bc]
sub eax, 0x870eb818
je 0x10001dd2
jmp 0x100014ba
mov eax, dword [ebp - 0x1bc]
sub eax, 0x8bba6b5c
je 0x10002d2a
jmp 0x100014d0
mov eax, dword [ebp - 0x1bc]
sub eax, 0x8eef9f97
je 0x10002bc8
jmp 0x100014e6
mov eax, dword [ebp - 0x1bc]
sub eax, 0x9361dc95
je 0x10002c6e
jmp 0x100014fc
mov eax, dword [ebp - 0x1bc]
sub eax, 0x967a819a
je 0x1000204f
jmp 0x10001512
mov eax, dword [ebp - 0x1bc]
sub eax, 0x982298d6
je 0x10002391
jmp 0x10001528
mov eax, dword [ebp - 0x1bc]
sub eax, 0x9bae120c
je 0x10002980
jmp 0x1000153e
mov eax, dword [ebp - 0x1bc]
sub eax, 0x9bf402ae
je 0x100028ce
jmp 0x10001554
mov eax, dword [ebp - 0x1bc]
sub eax, 0x9dd4130e
je 0x10001ecc
jmp 0x1000156a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa780e576
je 0x10002ac2
jmp 0x10001580
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa9ca5b47
je 0x10002be9
jmp 0x10001596
mov eax, dword [ebp - 0x1bc]
sub eax, 0xab0fd341
je 0x10002bb9
jmp 0x100015ac
mov eax, dword [ebp - 0x1bc]
sub eax, 0xad2f1db8
je 0x100020fa
jmp 0x100015c2
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb0ac05e5
je 0x10001bd6
jmp 0x100015d8
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb1ffdd17
je 0x10002909
jmp 0x100015ee
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb5899236
je 0x10002305
jmp 0x10001604
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb60db489
je 0x1000292f
jmp 0x1000161a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb751adac
je 0x10001b14
jmp 0x10001630
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbba60d8c
je 0x10001cea
jmp 0x10001646
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbd55facf
je 0x100029f6
jmp 0x1000165c
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbd6953b8
je 0x10001be5
jmp 0x10001672
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbef80e98
je 0x10001d5c
jmp 0x10001688
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbf34bb2a
je 0x10002006
jmp 0x1000169e
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbf3f01a0
je 0x10002333
jmp 0x100016b4
mov eax, dword [ebp - 0x1bc]
sub eax, 0xc0ff9d3e
je 0x10002dbc
jmp 0x100016ca
mov eax, dword [ebp - 0x1bc]
sub eax, 0xc29532f3
je 0x1000275a
jmp 0x100016e0
mov eax, dword [ebp - 0x1bc]
sub eax, 0xc5beed2a
je 0x100025b2
jmp 0x100016f6
mov eax, dword [ebp - 0x1bc]
sub eax, 0xc9a59467
je 0x100023e2
jmp 0x1000170c
mov eax, dword [ebp - 0x1bc]
sub eax, 0xccf4f443
je 0x10002ab3
jmp 0x10001722
mov eax, dword [ebp - 0x1bc]
sub eax, 0xcfa1080f
je 0x100025d3
jmp 0x10001738
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd119dbe2
je 0x100028ec
jmp 0x1000174e
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd4c2f7b3
je 0x100020d9
jmp 0x10001764
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd830c715
je 0x10002482
jmp 0x1000177a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xda8cdb73
je 0x10001c5b
jmp 0x10001790
mov eax, dword [ebp - 0x1bc]
sub eax, 0xdc6fcf4a
je 0x100021fa
jmp 0x100017a6
mov eax, dword [ebp - 0x1bc]
sub eax, 0xecfab2fc
je 0x10002825
jmp 0x100017bc
mov eax, dword [ebp - 0x1bc]
sub eax, 0xeef12e7e
je 0x10001efc
jmp 0x100017d2
mov eax, dword [ebp - 0x1bc]
sub eax, 0xefb39246
je 0x10002d1b
jmp 0x100017e8
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf14f77af
je 0x10002ceb
jmp 0x100017fe
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf1c78c41
je 0x10001ac3
jmp 0x10001814
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf288dff5
je 0x100021a6
jmp 0x1000182a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf86cc9ca
je 0x10002473
jmp 0x10001840
mov eax, dword [ebp - 0x1bc]
sub eax, 0xfca90438
je 0x10001ff7
jmp 0x10001856
mov eax, dword [ebp - 0x1bc]
sub eax, 0xcbf76ea
je 0x100028dd
jmp 0x1000186c
mov eax, dword [ebp - 0x1bc]
sub eax, 0x16ad03c2
je 0x10002624
jmp 0x10001882
mov eax, dword [ebp - 0x1bc]
sub eax, 0x17284555
je 0x10001d41
jmp 0x10001898
mov eax, dword [ebp - 0x1bc]
sub eax, 0x18c6133c
je 0x10002c5f
jmp 0x100018ae
mov eax, dword [ebp - 0x1bc]
sub eax, 0x1bb03c1a
je 0x10001cf9
jmp 0x100018c4
mov eax, dword [ebp - 0x1bc]
sub eax, 0x1eac3bd9
je 0x10002136
jmp 0x100018da
mov eax, dword [ebp - 0x1bc]
sub eax, 0x2a42a938
je 0x1000235d
jmp 0x100018f0
mov eax, dword [ebp - 0x1bc]
sub eax, 0x2e8a34af
je 0x10002314
jmp 0x10001906
mov eax, dword [ebp - 0x1bc]
sub eax, 0x38340028
je 0x10002bfa
jmp 0x1000191c
mov eax, dword [ebp - 0x1bc]
sub eax, 0x3c1496d9
je 0x10002b13
jmp 0x10001932
mov eax, dword [ebp - 0x1bc]
sub eax, 0x4528fe13
je 0x10002eab
jmp 0x10001948
mov eax, dword [ebp - 0x1bc]
sub eax, 0x46c04b5e
je 0x10002d6f
jmp 0x1000195e
mov eax, dword [ebp - 0x1bc]
sub eax, 0x4c27ba8b
je 0x10002270
jmp 0x10001974
mov eax, dword [ebp - 0x1bc]
sub eax, 0x52198685
je 0x100024f0
jmp 0x1000198a
mov eax, dword [ebp - 0x1bc]
sub eax, 0x523fcac1
je 0x1000274b
jmp 0x100019a0
mov eax, dword [ebp - 0x1bc]
sub eax, 0x5c338479
je 0x10002a05
jmp 0x100019b6
mov eax, dword [ebp - 0x1bc]
sub eax, 0x64801f76
je 0x10001f96
jmp 0x100019cc
mov eax, dword [ebp - 0x1bc]
sub eax, 0x6548ae0b
je 0x10002115
jmp 0x100019e2
mov eax, dword [ebp - 0x1bc]
sub eax, 0x6561660d
je 0x10001eed
jmp 0x100019f8
mov eax, dword [ebp - 0x1bc]
sub eax, 0x6da1f42b
je 0x10002d06
jmp 0x10001a0e
mov eax, dword [ebp - 0x1bc]
sub eax, 0x73ba2614
je 0x100021c1
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
add edx, 0x1cc6d5a9
sub edx, 1
sub edx, 0x1cc6d5a9
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, 0x38340028
mov ecx, 0xb751adac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x188], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000d630
add esp, 0xc
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
setne al
and al, 1
mov byte [ebp - 0x17d], al
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
sub edx, 0xe58e1933
sub edx, 1
add edx, 0xe58e1933
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, 0x38340028
mov ecx, 0xb0ac05e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xbd6953b8
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
add edx, 0xc85d4dc
sub edx, 1
sub edx, 0xc85d4dc
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, 0x18c6133c
mov ecx, 0xda8cdb73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
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, 0x18c6133c
mov ecx, 0x80fa8d98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dl, byte [ebp - 0x17d]
mov eax, 0xbba60d8c
mov ecx, 0x1bb03c1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xa9ca5b47
jmp 0x10002ed9
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
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 - 0x17c], eax
mov dword [ebp - 0x1b4], 0x17284555
jmp 0x10002ed9
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1b4], 0xbef80e98
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0xf62ed831
sub edx, 1
add edx, 0xf62ed831
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, 0x9361dc95
mov ecx, 0x870eb818
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x190]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x198], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x198], eax
sete al
and al, 1
mov byte [ebp - 0x175], al
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0x3fbc79dc
sub edx, 1
add edx, 0x3fbc79dc
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, 0x9361dc95
mov ecx, 0x9dd4130e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dl, byte [ebp - 0x175]
mov eax, 0xeef12e7e
mov ecx, 0x6561660d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xa9ca5b47
jmp 0x10002ed9
mov eax, dword [ebp - 0x198]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x1b4], 0x774192ca
jmp 0x10002ed9
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
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, 0xf14f77af
mov ecx, 0xfca90438
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xbf34bb2a
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
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, 0x6da1f42b
mov ecx, 0x967a819a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x170]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x169], al
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
add edx, 0x552758cb
sub edx, 1
sub edx, 0x552758cb
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, 0x6da1f42b
mov ecx, 0xd4c2f7b3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dl, byte [ebp - 0x169]
mov eax, 0xad2f1db8
mov ecx, 0x7c7f5844
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1b4], 0x6548ae0b
jmp 0x10002ed9
mov eax, dword [ebp - 0x168]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b4], 0x1eac3bd9
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xa9ca5b47
jmp 0x10002ed9
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1b4], 0x73ba2614
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
add edx, 0x79ba6cf2
sub edx, 1
sub edx, 0x79ba6cf2
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, 0xefb39246
mov ecx, 0x4c27ba8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
movzx eax, word [ebp - 0x1aa]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x1a8]
add eax, 4
add eax, 2
mov dword [ebp - 0x158], eax
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0xed428d6
sub edx, 1
add edx, 0xed428d6
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, 0xefb39246
mov ecx, 0xb5899236
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0x2e8a34af
jmp 0x10002ed9
mov eax, dword [ebp - 0x158]
mov ax, word [eax]
mov word [ebp - 0x152], ax
mov dword [ebp - 0x1b4], 0xbf3f01a0
jmp 0x10002ed9
mov ax, word [ebp - 0x152]
movzx esi, ax
mov edx, dword [ebp - 0x15c]
mov eax, 0x5c338479
mov ecx, 0x2a42a938
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x1a8]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x1a8]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1b4], 0x982298d6
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
add edx, 0xac1de54d
sub edx, 1
sub edx, 0xac1de54d
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, 0x8bba6b5c
mov ecx, 0xc9a59467
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x14c]
movzx edx, word [eax]
mov eax, dword [ebp - 0x150]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x148], eax
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
add edx, 0x4fe44f44
sub edx, 1
sub edx, 0x4fe44f44
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, 0x8bba6b5c
mov ecx, 0xf86cc9ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xd830c715
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
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, 0x46c04b5e
mov ecx, 0x52198685
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x148]
movzx ecx, word [ebp - 0x1aa]
imul ecx, ecx, 0x28
add eax, 0xdcf31904
add eax, ecx
sub eax, 0xdcf31904
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100193b0
call fcn.1000f9a0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x141], al
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
add edx, 0xb3d2eec6
sub edx, 1
sub edx, 0xb3d2eec6
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, 0x46c04b5e
mov ecx, 0xc5beed2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dl, byte [ebp - 0x141]
mov eax, 0xcfa1080f
mov ecx, 0xcbf76ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
sub edx, 0x5a0c4d39
sub edx, 1
add edx, 0x5a0c4d39
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, 0xc0ff9d3e
mov ecx, 0x16ad03c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b0]
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
lea eax, [ebp - 0x120]
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 - 0x184]
mov byte [eax], cl
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x1b0]
mov ecx, dword [ecx + 0xc]
sub eax, 0x9c37cd2
add eax, ecx
add eax, 0x9c37cd2
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1b0]
mov ecx, dword [ecx + 0xc]
sub eax, 0x2c728f9f
add eax, ecx
add eax, 0x2c728f9f
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x138], eax
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0x8d1a0607
sub edx, 1
add edx, 0x8d1a0607
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, 0xc0ff9d3e
mov ecx, 0x523fcac1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xc29532f3
jmp 0x10002ed9
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000d790
add esp, 0xc
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x1b4], 0x7d02a06e
jmp 0x10002ed9
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b0]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor esi, esi
sub esi, eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x120]
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 - 0x184]
mov byte [eax], cl
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
sub edx, 0xf9629764
sub edx, 1
add edx, 0xf9629764
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, 0x7b2262b3
mov ecx, 0x9bf402ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xcbf76ea
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xd119dbe2
jmp 0x10002ed9
mov ax, word [ebp - 0x1aa]
mov word [ebp - 0x12a], ax
mov dword [ebp - 0x1b4], 0xb1ffdd17
jmp 0x10002ed9
mov ax, word [ebp - 0x12a]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x1aa], ax
mov dword [ebp - 0x1b4], 0xb60db489
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
sub edx, 0xa1d021ae
sub edx, 1
add edx, 0xa1d021ae
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, 0x774db49d
mov ecx, 0x9bae120c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0x3de523b3
sub edx, 1
add edx, 0x3de523b3
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, 0x774db49d
mov ecx, 0xbd55facf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xdc6fcf4a
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
add edx, 0x756f6757
sub edx, 1
sub edx, 0x756f6757
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, 0x778b5150
mov ecx, 0x7a37d88b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xa780e576
jmp 0x10002ed9
mov eax, dword [0x1006cd40]
mov ecx, dword [0x1006cd3c]
mov edx, eax
sub edx, 0x1bf315cc
sub edx, 1
add edx, 0x1bf315cc
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, 0x4528fe13
mov ecx, 0x3c1496d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x19c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x124], eax
mov ecx, dword [0x1006cd40]
mov eax, dword [0x1006cd3c]
mov edx, ecx
sub edx, 0xb28618d2
sub edx, 1
add edx, 0xb28618d2
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, 0x4528fe13
mov ecx, 0xab0fd341
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0x8eef9f97
jmp 0x10002ed9
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b4], 0xa9ca5b47
jmp 0x10002ed9
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000ca30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x188], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000d630
add esp, 0xc
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1b4], 0xb751adac
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0xda8cdb73
jmp 0x10002ed9
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x190]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1b4], 0x870eb818
jmp 0x10002ed9
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1b4], 0x64801f76
jmp 0x10002ed9
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], 0x967a819a
jmp 0x10002ed9
mov dword [ebp - 0x1b4], 0x4c27ba8b
jmp 0x10002ed9
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x1b4], 0xc9a59467
jmp 0x10002ed9
mov eax, dword [ebp - 0x148]
movzx ecx, word [ebp - 0x1aa]
imul ecx, ecx, 0x28
sub eax, 0xc95f3074
add eax, ecx
add eax, 0xc95f3074
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100193b0
call fcn.1000f9a0
add esp, 8
mov dword [ebp - 0x1b4], 0x52198685
jmp 0x10002ed9
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 0xc]
add edx, 0x4d12e174
add edx, eax
sub edx, 0x4d12e174
lea eax, [ebp - 0x120]
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 - 0x184]
mov byte [eax], cl
mov dword [ebp - 0x1b4], 0x16ad03c2
jmp 0x10002ed9
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x19c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b4], 0x3c1496d9
jmp 0x10001488