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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10090080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
mov edx, ecx
add edx, 0x98f8091e
sub edx, 1
sub edx, 0x98f8091e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x92], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x91], al
mov dword [ebp - 0x98], 0x1d92a000
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x83869b76
je 0x10009b36
jmp 0x100088e3
mov eax, dword [ebp - 0xa0]
sub eax, 0x86e0d0d3
je 0x10009aeb
jmp 0x100088f9
mov eax, dword [ebp - 0xa0]
sub eax, 0x873a4b2c
je 0x10009064
jmp 0x1000890f
mov eax, dword [ebp - 0xa0]
sub eax, 0x8aa3a0f4
je 0x10009afa
jmp 0x10008925
mov eax, dword [ebp - 0xa0]
sub eax, 0x9194a8d8
je 0x100092ed
jmp 0x1000893b
mov eax, dword [ebp - 0xa0]
sub eax, 0x92e523e6
je 0x1000970b
jmp 0x10008951
mov eax, dword [ebp - 0xa0]
sub eax, 0x949a8ff3
je 0x10009e40
jmp 0x10008967
mov eax, dword [ebp - 0xa0]
sub eax, 0x99499aea
je 0x10009a0d
jmp 0x1000897d
mov eax, dword [ebp - 0xa0]
sub eax, 0x9aedce9b
je 0x10008f51
jmp 0x10008993
mov eax, dword [ebp - 0xa0]
sub eax, 0xa3dab18c
je 0x10009492
jmp 0x100089a9
mov eax, dword [ebp - 0xa0]
sub eax, 0xa47a6409
je 0x10009346
jmp 0x100089bf
mov eax, dword [ebp - 0xa0]
sub eax, 0xadb3ff96
je 0x10009551
jmp 0x100089d5
mov eax, dword [ebp - 0xa0]
sub eax, 0xb1ec6ad2
je 0x10009cf2
jmp 0x100089eb
mov eax, dword [ebp - 0xa0]
sub eax, 0xb37e616e
je 0x100096fc
jmp 0x10008a01
mov eax, dword [ebp - 0xa0]
sub eax, 0xb789114a
je 0x10009210
jmp 0x10008a17
mov eax, dword [ebp - 0xa0]
sub eax, 0xbe101b6a
je 0x100091e3
jmp 0x10008a2d
mov eax, dword [ebp - 0xa0]
sub eax, 0xd4eda418
je 0x10009355
jmp 0x10008a43
mov eax, dword [ebp - 0xa0]
sub eax, 0xd87568e5
je 0x1000929c
jmp 0x10008a59
mov eax, dword [ebp - 0xa0]
sub eax, 0xd8c132ad
je 0x10009b87
jmp 0x10008a6f
mov eax, dword [ebp - 0xa0]
sub eax, 0xdd6fe11f
je 0x1000997b
jmp 0x10008a85
mov eax, dword [ebp - 0xa0]
sub eax, 0xe0d31d2f
je 0x10009c13
jmp 0x10008a9b
mov eax, dword [ebp - 0xa0]
sub eax, 0xe12464cf
je 0x10009449
jmp 0x10008ab1
mov eax, dword [ebp - 0xa0]
sub eax, 0xe2c4a194
je 0x10009c98
jmp 0x10008ac7
mov eax, dword [ebp - 0xa0]
sub eax, 0xe3133d35
je 0x10009df0
jmp 0x10008add
mov eax, dword [ebp - 0xa0]
sub eax, 0xe6b9f36b
je 0x100099f4
jmp 0x10008af3
mov eax, dword [ebp - 0xa0]
sub eax, 0xef69038f
je 0x10009e91
jmp 0x10008b09
mov eax, dword [ebp - 0xa0]
sub eax, 0xef8681d0
je 0x1000943a
jmp 0x10008b1f
mov eax, dword [ebp - 0xa0]
sub eax, 0xf4c98a41
je 0x10009055
jmp 0x10008b35
mov eax, dword [ebp - 0xa0]
sub eax, 0xf7b58365
je 0x100099e5
jmp 0x10008b4b
mov eax, dword [ebp - 0xa0]
sub eax, 0xf7eca4ed
je 0x1000972a
jmp 0x10008b61
mov eax, dword [ebp - 0xa0]
sub eax, 0xff8d61e7
je 0x10009aa2
jmp 0x10008b77
mov eax, dword [ebp - 0xa0]
sub eax, 0x3d12e7
je 0x100090cc
jmp 0x10008b8d
mov eax, dword [ebp - 0xa0]
sub eax, 0x11cf024
je 0x10009c04
jmp 0x10008ba3
mov eax, dword [ebp - 0xa0]
sub eax, 0x2cf41bb
je 0x1000942b
jmp 0x10008bb9
mov eax, dword [ebp - 0xa0]
sub eax, 0x8422053
je 0x10009dae
jmp 0x10008bcf
mov eax, dword [ebp - 0xa0]
sub eax, 0xb3c52de
je 0x10009e55
jmp 0x10008be5
mov eax, dword [ebp - 0xa0]
sub eax, 0x145d0465
je 0x10009e73
jmp 0x10008bfb
mov eax, dword [ebp - 0xa0]
sub eax, 0x1d92a000
je 0x10008e94
jmp 0x10008c11
mov eax, dword [ebp - 0xa0]
sub eax, 0x2016d03d
je 0x100099d6
jmp 0x10008c27
mov eax, dword [ebp - 0xa0]
sub eax, 0x2047b60c
je 0x100093cb
jmp 0x10008c3d
mov eax, dword [ebp - 0xa0]
sub eax, 0x21d4e6e0
je 0x10009d01
jmp 0x10008c53
mov eax, dword [ebp - 0xa0]
sub eax, 0x29137fca
je 0x10009ce1
jmp 0x10008c69
mov eax, dword [ebp - 0xa0]
sub eax, 0x29aef1f5
je 0x100095a2
jmp 0x10008c7f
mov eax, dword [ebp - 0xa0]
sub eax, 0x2c01c11c
je 0x100097f1
jmp 0x10008c95
mov eax, dword [ebp - 0xa0]
sub eax, 0x2c6a664d
je 0x10009519
jmp 0x10008cab
mov eax, dword [ebp - 0xa0]
sub eax, 0x2db720a5
je 0x10009115
jmp 0x10008cc1
mov eax, dword [ebp - 0xa0]
sub eax, 0x307a46f9
je 0x10009d7e
jmp 0x10008cd7
mov eax, dword [ebp - 0xa0]
sub eax, 0x31d056de
je 0x10009e64
jmp 0x10008ced
mov eax, dword [ebp - 0xa0]
sub eax, 0x33ca3d29
je 0x10009528
jmp 0x10008d03
mov eax, dword [ebp - 0xa0]
sub eax, 0x3b197673
je 0x1000987e
jmp 0x10008d19
mov eax, dword [ebp - 0xa0]
sub eax, 0x3f72e427
je 0x10009619
jmp 0x10008d2f
mov eax, dword [ebp - 0xa0]
sub eax, 0x3ff795e4
je 0x1000927e
jmp 0x10008d45
mov eax, dword [ebp - 0xa0]
sub eax, 0x40e9f830
je 0x10009227
jmp 0x10008d5b
mov eax, dword [ebp - 0xa0]
sub eax, 0x4290854b
je 0x10009d90
jmp 0x10008d71
mov eax, dword [ebp - 0xa0]
sub eax, 0x430ea0aa
je 0x10008f42
jmp 0x10008d87
mov eax, dword [ebp - 0xa0]
sub eax, 0x436cce5f
je 0x10009696
jmp 0x10008d9d
mov eax, dword [ebp - 0xa0]
sub eax, 0x4800cebd
je 0x1000977b
jmp 0x10008db3
mov eax, dword [ebp - 0xa0]
sub eax, 0x498ce558
je 0x10009201
jmp 0x10008dc9
mov eax, dword [ebp - 0xa0]
sub eax, 0x50255ab1
je 0x100098b4
jmp 0x10008ddf
mov eax, dword [ebp - 0xa0]
sub eax, 0x62e75711
je 0x10009c22
jmp 0x10008df5
mov eax, dword [ebp - 0xa0]
sub eax, 0x641fd2b4
je 0x10009037
jmp 0x10008e0b
mov eax, dword [ebp - 0xa0]
sub eax, 0x69e4ea45
je 0x10009628
jmp 0x10008e21
mov eax, dword [ebp - 0xa0]
sub eax, 0x73d40f5a
je 0x1000980f
jmp 0x10008e37
mov eax, dword [ebp - 0xa0]
sub eax, 0x74550fa6
je 0x10009a34
jmp 0x10008e4d
mov eax, dword [ebp - 0xa0]
sub eax, 0x7ac49fdd
je 0x1000985f
mov al, byte [ebp - 0x92]
mov cl, byte [ebp - 0x91]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb1ec6ad2
mov ecx, 0x7fba4541
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x9aedce9b
jmp 0x10009e9b
mov ecx, dword [ebp - 0x9c]
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10027ec0
add esp, 0xc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0x98], 0x641fd2b4
jmp 0x10009e9b
mov dl, byte [ebp - 0x51]
mov eax, 0xf4c98a41
mov ecx, 0x873a4b2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x62e75711
jmp 0x10009e9b
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x98], 0x7e2eb3e8
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
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, 0x21d4e6e0
mov ecx, 0x2db720a5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0xfba20c17
sub edx, 1
add edx, 0xfba20c17
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, 0x21d4e6e0
mov ecx, 0xbe101b6a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dl, byte [ebp - 0x45]
mov eax, 0xb789114a
mov ecx, 0x498ce558
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x62e75711
jmp 0x10009e9b
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x98], 0x40e9f830
jmp 0x10009e9b
mov eax, dword [ebp - 0x44]
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 ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x98], 0x3ff795e4
jmp 0x10009e9b
mov edx, dword [ebp - 0x40]
mov eax, 0xd87568e5
mov ecx, 0xe12464cf
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
add edx, 0x2a2ca3cc
sub edx, 1
sub edx, 0x2a2ca3cc
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, 0x307a46f9
mov ecx, 0x9194a8d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0xc08769c7
sub edx, 1
add edx, 0xc08769c7
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, 0x307a46f9
mov ecx, 0xa47a6409
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xd4eda418
jmp 0x10009e9b
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
mov edx, ecx
add edx, 0xb1cc39a4
sub edx, 1
sub edx, 0xb1cc39a4
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, 0x4290854b
mov ecx, 0x2047b60c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0x23568741
sub edx, 1
add edx, 0x23568741
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, 0x4290854b
mov ecx, 0x2cf41bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xef8681d0
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x62e75711
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
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, 0x8422053
mov ecx, 0xa3dab18c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0x1f878a2c
sub edx, 1
add edx, 0x1f878a2c
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, 0x8422053
mov ecx, 0x2c6a664d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x33ca3d29
jmp 0x10009e9b
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0xadb3ff96
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0x775c26d
sub edx, 1
add edx, 0x775c26d
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, 0xe3133d35
mov ecx, 0x29aef1f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x34]
sub ecx, 0x3cff9b3
add ecx, eax
add ecx, 0x3cff9b3
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0x5c47ce84
sub edx, 1
add edx, 0x5c47ce84
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, 0xe3133d35
mov ecx, 0x3f72e427
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x69e4ea45
jmp 0x10009e9b
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
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, 0x949a8ff3
mov ecx, 0x436cce5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
add edx, 0x8c17c2f6
sub edx, 1
sub edx, 0x8c17c2f6
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, 0x949a8ff3
mov ecx, 0xb37e616e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x92e523e6
jmp 0x10009e9b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x98], 0xf7eca4ed
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
add edx, 0xb80354b7
sub edx, 1
sub edx, 0xb80354b7
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, 0xb3c52de
mov ecx, 0x4800cebd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
mov edx, ecx
sub edx, 0xe6b07147
sub edx, 1
add edx, 0xe6b07147
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, 0xb3c52de
mov ecx, 0x2c01c11c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dl, byte [ebp - 0x25]
mov eax, 0x8aa3a0f4
mov ecx, 0x73d40f5a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x68]
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 - 0x68]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0x4f7220a6
add eax, ecx
add eax, 0x4f7220a6
mov ecx, dword [ebp - 0x64]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0xa936406d
add eax, ecx
sub eax, 0xa936406d
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x98], 0x7ac49fdd
jmp 0x10009e9b
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10035b70
call fcn.1002b830
add esp, 8
mov edx, eax
mov eax, 0x50255ab1
mov ecx, 0xf7b58365
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xe01c9971
add edx, eax
add edx, 0xe01c9971
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x60]
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.10028020
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x98], 0xdd6fe11f
jmp 0x10009e9b
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xce576ce2
add esi, eax
add esi, 0xce576ce2
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1c]
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 - 0x58]
mov byte [eax], cl
mov dword [ebp - 0x98], 0x2016d03d
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xf7b58365
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xe6b9f36b
jmp 0x10009e9b
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x98], 0x99499aea
jmp 0x10009e9b
mov cx, word [ebp - 0x12]
sub cx, 0x4565
add cx, 1
add cx, 0x4565
mov eax, dword [ebp - 0x64]
mov word [eax], cx
mov dword [ebp - 0x98], 0x74550fa6
jmp 0x10009e9b
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
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, 0x31d056de
mov ecx, 0xff8d61e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
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, 0x31d056de
mov ecx, 0x86e0d0d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x69e4ea45
jmp 0x10009e9b
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0x83869b76
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
mov edx, eax
sub edx, 0x88145558
sub edx, 1
add edx, 0x88145558
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, 0x145d0465
mov ecx, 0xd8c132ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
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, 0x145d0465
mov ecx, 0x11cf024
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xe0d31d2f
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x62e75711
jmp 0x10009e9b
mov ecx, dword [0x1009173c]
mov eax, dword [0x10091738]
mov edx, ecx
add edx, 0x3ee7fa1
sub edx, 1
sub edx, 0x3ee7fa1
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, 0xef69038f
mov ecx, 0xe2c4a194
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov eax, dword [0x1009173c]
mov ecx, dword [0x10091738]
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, 0xef69038f
mov ecx, 0x29137fca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10009e9b
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.100270b0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x98], 0x7fba4541
jmp 0x10009e9b
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0x2db720a5
jmp 0x10009e9b
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0x9194a8d8
jmp 0x10009e9b
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x2047b60c
jmp 0x10009e9b
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x98], 0xa3dab18c
jmp 0x10009e9b
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x98], 0x29aef1f5
jmp 0x10009e9b
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0x436cce5f
jmp 0x10009e9b
mov dword [ebp - 0x98], 0x4800cebd
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xff8d61e7
jmp 0x10009e9b
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xd8c132ad
jmp 0x10009e9b
mov dword [ebp - 0x98], 0xe2c4a194
jmp 0x100088c7