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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x19c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x1008f280]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1a0], 0xbfb71cda
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
sub eax, 0x81407c81
je 0x1000e452
jmp 0x1000ddc5
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8276af60
je 0x1000e50a
jmp 0x1000dddb
mov eax, dword [ebp - 0x1a8]
sub eax, 0x85fe0787
je 0x1000f58e
jmp 0x1000ddf1
mov eax, dword [ebp - 0x1a8]
sub eax, 0x86ad4c73
je 0x1000f623
jmp 0x1000de07
mov eax, dword [ebp - 0x1a8]
sub eax, 0x87ba4cc5
je 0x1000f30d
jmp 0x1000de1d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8833b236
je 0x1000e8ff
jmp 0x1000de33
mov eax, dword [ebp - 0x1a8]
sub eax, 0x8fc45caf
je 0x1000ee0c
jmp 0x1000de49
mov eax, dword [ebp - 0x1a8]
sub eax, 0x91893b16
je 0x1000f40b
jmp 0x1000de5f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x98b66b4e
je 0x1000e784
jmp 0x1000de75
mov eax, dword [ebp - 0x1a8]
sub eax, 0x99ee44fb
je 0x1000ee7a
jmp 0x1000de8b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa23fb2f6
je 0x1000ebaa
jmp 0x1000dea1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa3735838
je 0x1000f14b
jmp 0x1000deb7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb06adbf1
je 0x1000f540
jmp 0x1000decd
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb119bc07
je 0x1000f490
jmp 0x1000dee3
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb3b36b58
je 0x1000f74b
jmp 0x1000def9
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb4c94600
je 0x1000e519
jmp 0x1000df0f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbe8d95ca
je 0x1000f013
jmp 0x1000df25
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbfb71cda
je 0x1000e3e4
jmp 0x1000df3b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc4035731
je 0x1000edfd
jmp 0x1000df51
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc9e26464
je 0x1000f0b3
jmp 0x1000df67
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcd530ca3
je 0x1000ec07
jmp 0x1000df7d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd43e80c3
je 0x1000e9c2
jmp 0x1000df93
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd4b2e750
je 0x1000e7f2
jmp 0x1000dfa9
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd5cae113
je 0x1000e587
jmp 0x1000dfbf
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd5dd0a6a
je 0x1000ebe6
jmp 0x1000dfd5
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd8cd1d9d
je 0x1000f561
jmp 0x1000dfeb
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd9a5c7b8
je 0x1000f294
jmp 0x1000e001
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd9cdfcf4
je 0x1000eed6
jmp 0x1000e017
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe2d3d0a6
je 0x1000f022
jmp 0x1000e02d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe3a57478
je 0x1000f39d
jmp 0x1000e043
mov eax, dword [ebp - 0x1a8]
sub eax, 0xea939ef8
je 0x1000eb9b
jmp 0x1000e059
mov eax, dword [ebp - 0x1a8]
sub eax, 0xecf82456
je 0x1000e9d1
jmp 0x1000e06f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xed69e0fc
je 0x1000f70c
jmp 0x1000e085
mov eax, dword [ebp - 0x1a8]
sub eax, 0xedbc965d
je 0x1000e9a1
jmp 0x1000e09b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf39bf189
je 0x1000f730
jmp 0x1000e0b1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf52357e8
je 0x1000ea47
jmp 0x1000e0c7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf95b3fe0
je 0x1000f5e7
jmp 0x1000e0dd
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfa9040d8
je 0x1000eeac
jmp 0x1000e0f3
mov eax, dword [ebp - 0x1a8]
sub eax, 0xfd3af80a
je 0x1000f6bb
jmp 0x1000e109
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1f91cca
je 0x1000f481
jmp 0x1000e11f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x5dff26b
je 0x1000f721
jmp 0x1000e135
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcdab5ac
je 0x1000ecc6
jmp 0x1000e14b
mov eax, dword [ebp - 0x1a8]
sub eax, 0x10f2ab6e
je 0x1000ed94
jmp 0x1000e161
mov eax, dword [ebp - 0x1a8]
sub eax, 0x180571d7
je 0x1000e775
jmp 0x1000e177
mov eax, dword [ebp - 0x1a8]
sub eax, 0x19185ac7
je 0x1000f84e
jmp 0x1000e18d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1a596ca1
je 0x1000f4b8
jmp 0x1000e1a3
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1a733223
je 0x1000eb3e
jmp 0x1000e1b9
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1cbd2973
je 0x1000f03d
jmp 0x1000e1cf
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1fd28d05
je 0x1000e8f0
jmp 0x1000e1e5
mov eax, dword [ebp - 0x1a8]
sub eax, 0x204c8e72
je 0x1000e6d2
jmp 0x1000e1fb
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2473b15b
je 0x1000f7d6
jmp 0x1000e211
mov eax, dword [ebp - 0x1a8]
sub eax, 0x26598a12
je 0x1000e655
jmp 0x1000e227
mov eax, dword [ebp - 0x1a8]
sub eax, 0x26874108
je 0x1000ee5b
jmp 0x1000e23d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2d283312
je 0x1000f4e6
jmp 0x1000e253
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2d8a9fed
je 0x1000f2a3
jmp 0x1000e269
mov eax, dword [ebp - 0x1a8]
sub eax, 0x316260de
je 0x1000f7ab
jmp 0x1000e27f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x394a8523
je 0x1000ef4c
jmp 0x1000e295
mov eax, dword [ebp - 0x1a8]
sub eax, 0x3af5eead
je 0x1000f1bd
jmp 0x1000e2ab
mov eax, dword [ebp - 0x1a8]
sub eax, 0x40b36d6c
je 0x1000f6ac
jmp 0x1000e2c1
mov eax, dword [ebp - 0x1a8]
sub eax, 0x41213815
je 0x1000ec7d
jmp 0x1000e2d7
mov eax, dword [ebp - 0x1a8]
sub eax, 0x41569ea2
je 0x1000e634
jmp 0x1000e2ed
mov eax, dword [ebp - 0x1a8]
sub eax, 0x42e6eece
je 0x1000eaf5
jmp 0x1000e303
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45be4ae8
je 0x1000e950
jmp 0x1000e319
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4e79fb53
je 0x1000f16c
jmp 0x1000e32f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x54845fb1
je 0x1000f573
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x54845fb1
mov ecx, 0x81407c81
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x1a4]
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
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
mov dword [ebp - 0x184], eax
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
add edx, 0x9a5f4f84
sub edx, 1
sub edx, 0x9a5f4f84
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, 0x54845fb1
mov ecx, 0x8276af60
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xb4c94600
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x85fe0787
mov ecx, 0xd5cae113
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1002eb90
add esp, 0xc
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
setne al
and al, 1
mov byte [ebp - 0x166], al
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
sub edx, 0x28d3609f
sub edx, 1
add edx, 0x28d3609f
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, 0x85fe0787
mov ecx, 0x41569ea2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dl, byte [ebp - 0x166]
mov eax, 0x26598a12
mov ecx, 0x69a7470a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xd8cd1d9d
jmp 0x1000f858
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
sub edx, 0x9bb8b208
sub edx, 1
add edx, 0x9bb8b208
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, 0xf95b3fe0
mov ecx, 0x180571d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x98b66b4e
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x86ad4c73
mov ecx, 0xd4b2e750
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x18c]
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 - 0x114]
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 - 0x194], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x194], eax
sete al
and al, 1
mov byte [ebp - 0x165], al
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x86ad4c73
mov ecx, 0x1fd28d05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x8833b236
jmp 0x1000f858
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
add edx, 0x59558b39
sub edx, 1
sub edx, 0x59558b39
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, 0x40b36d6c
mov ecx, 0x45be4ae8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
add edx, 0x19b680af
sub edx, 1
sub edx, 0x19b680af
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, 0x40b36d6c
mov ecx, 0xedbc965d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dl, byte [ebp - 0x165]
mov eax, 0xecf82456
mov ecx, 0xd43e80c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xd8cd1d9d
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
sub edx, 0xd9076650
sub edx, 1
add edx, 0xd9076650
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, 0xfd3af80a
mov ecx, 0xf52357e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x194]
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], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x164], eax
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
sub edx, 0x6be2380d
sub edx, 1
add edx, 0x6be2380d
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, 0xfd3af80a
mov ecx, 0x5561926f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
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, 0xed69e0fc
mov ecx, 0x1a733223
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x164]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
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, 0xed69e0fc
mov ecx, 0xea939ef8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xa23fb2f6
jmp 0x1000f858
mov dl, byte [ebp - 0x15d]
mov eax, 0x5587c03f
mov ecx, 0x5886f7b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xcd530ca3
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
add edx, 0xd212f123
sub edx, 1
sub edx, 0xd212f123
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, 0x5dff26b
mov ecx, 0x41213815
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
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, 0x5dff26b
mov ecx, 0xcdab5ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xd8cd1d9d
jmp 0x1000f858
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x154], eax
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
sub edx, 0x8c3e7020
sub edx, 1
add edx, 0x8c3e7020
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, 0xf39bf189
mov ecx, 0xc4035731
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x8fc45caf
jmp 0x1000f858
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x154]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0xfe29548e
add ecx, eax
sub ecx, 0xfe29548e
mov eax, dword [ebp - 0x17c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov word [eax], 0
mov dword [ebp - 0x1a0], 0x26874108
jmp 0x1000f858
mov eax, dword [ebp - 0x178]
mov ax, word [eax]
mov word [ebp - 0x14e], ax
mov dword [ebp - 0x1a0], 0x99ee44fb
jmp 0x1000f858
mov ax, word [ebp - 0x14e]
movzx eax, ax
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x146], ax
mov dword [ebp - 0x1a0], 0xfa9040d8
jmp 0x1000f858
mov ax, word [ebp - 0x146]
movzx esi, ax
mov edx, dword [ebp - 0x14c]
mov eax, 0x2d283312
mov ecx, 0xd9cdfcf4
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
sub edx, 0x15a1913c
sub edx, 1
add edx, 0x15a1913c
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, 0xb3b36b58
mov ecx, 0x394a8523
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0x18
sub ecx, eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0xd2dbd39a
add ecx, eax
sub ecx, 0xd2dbd39a
mov eax, dword [ebp - 0x178]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
add edx, 0xbd5bc84d
sub edx, 1
sub edx, 0xbd5bc84d
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, 0xb3b36b58
mov ecx, 0xbe8d95ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xe2d3d0a6
jmp 0x1000f858
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a0], 0x1cbd2973
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
add edx, 0x87bc9a9a
sub edx, 1
sub edx, 0x87bc9a9a
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, 0x316260de
mov ecx, 0xc9e26464
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1003ced5
call fcn.10032510
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x316260de
mov ecx, 0xa3735838
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dl, byte [ebp - 0x139]
mov eax, 0x4e79fb53
mov ecx, 0xe3a57478
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [0x10090934]
mov ecx, dword [0x10090930]
mov edx, eax
add edx, 0x2ca884a1
sub edx, 1
sub edx, 0x2ca884a1
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, 0x2473b15b
mov ecx, 0x3af5eead
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
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 - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x2473b15b
mov ecx, 0xd9a5c7b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x2d8a9fed
jmp 0x1000f858
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x174]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
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 [ebp - 0x19c]
mov ecx, dword [ebp - 0x174]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x1a0], 0x87ba4cc5
jmp 0x1000f858
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x130]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1002ecf0
add esp, 0xc
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov dword [ebp - 0x1a0], 0xe3a57478
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
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, 0x19185ac7
mov ecx, 0x91893b16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov ecx, dword [0x10090934]
mov eax, dword [0x10090930]
mov edx, ecx
sub edx, 0xad75163f
sub edx, 1
add edx, 0xad75163f
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, 0x19185ac7
mov ecx, 0x1f91cca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0xb119bc07
jmp 0x1000f858
mov eax, dword [ebp - 0x178]
mov ax, word [eax]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x12a], ax
mov dword [ebp - 0x1a0], 0x1a596ca1
jmp 0x1000f858
mov eax, dword [ebp - 0x178]
mov cx, word [ebp - 0x12a]
mov word [eax], cx
mov dword [ebp - 0x1a0], 0x6448a3d6
jmp 0x1000f858
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1a0], 0x5db99735
jmp 0x1000f858
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xd8cd1d9d
jmp 0x1000f858
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002dd80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1002eb90
add esp, 0xc
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1a0], 0xd5cae113
jmp 0x1000f858
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 - 0x1a0], 0x204c8e72
jmp 0x1000f858
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x18c]
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 - 0x114]
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 - 0x194], eax
mov dword [ebp - 0x1a0], 0xd4b2e750
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x45be4ae8
jmp 0x1000f858
mov eax, dword [ebp - 0x194]
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], eax
mov dword [ebp - 0x1a0], 0xf52357e8
jmp 0x1000f858
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x1a0], 0x1a733223
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x41213815
jmp 0x1000f858
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a0], 0x10f2ab6e
jmp 0x1000f858
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax]
add ecx, 0x301acfe
add ecx, 0x18
sub ecx, 0x301acfe
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0xc712f6df
add ecx, eax
sub ecx, 0xc712f6df
mov eax, dword [ebp - 0x178]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1a0], 0x394a8523
jmp 0x1000f858
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1003ced5
call fcn.10032510
add esp, 8
mov dword [ebp - 0x1a0], 0xc9e26464
jmp 0x1000f858
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x3b708f81
add edx, eax
add edx, 0x3b708f81
mov eax, dword [ebp - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov dword [ebp - 0x1a0], 0x3af5eead
jmp 0x1000f858
mov dword [ebp - 0x1a0], 0x91893b16
jmp 0x1000dda9