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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x10085080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x9d], al
mov dword [ebp - 0xa4], 0x8f67db0e
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x8029c3a6
je 0x100099c1
jmp 0x10008a0b
mov eax, dword [ebp - 0xac]
sub eax, 0x829ab2c9
je 0x10009bfc
jmp 0x10008a21
mov eax, dword [ebp - 0xac]
sub eax, 0x868efb6a
je 0x1000a427
jmp 0x10008a37
mov eax, dword [ebp - 0xac]
sub eax, 0x8bd466a9
je 0x10009d2e
jmp 0x10008a4d
mov eax, dword [ebp - 0xac]
sub eax, 0x8db2b63b
je 0x1000a216
jmp 0x10008a63
mov eax, dword [ebp - 0xac]
sub eax, 0x8e53e73f
je 0x10009e42
jmp 0x10008a79
mov eax, dword [ebp - 0xac]
sub eax, 0x8f67db0e
je 0x100090c4
jmp 0x10008a8f
mov eax, dword [ebp - 0xac]
sub eax, 0x8fc2b84e
je 0x1000991e
jmp 0x10008aa5
mov eax, dword [ebp - 0xac]
sub eax, 0x9339c13f
je 0x10009b26
jmp 0x10008abb
mov eax, dword [ebp - 0xac]
sub eax, 0x979126a8
je 0x1000967c
jmp 0x10008ad1
mov eax, dword [ebp - 0xac]
sub eax, 0x985c92c5
je 0x10009773
jmp 0x10008ae7
mov eax, dword [ebp - 0xac]
sub eax, 0x99e5beea
je 0x1000924c
jmp 0x10008afd
mov eax, dword [ebp - 0xac]
sub eax, 0x9e0a253f
je 0x10009f86
jmp 0x10008b13
mov eax, dword [ebp - 0xac]
sub eax, 0x9ec60de6
je 0x100099aa
jmp 0x10008b29
mov eax, dword [ebp - 0xac]
sub eax, 0xa2609477
je 0x10009286
jmp 0x10008b3f
mov eax, dword [ebp - 0xac]
sub eax, 0xa2f5c9e0
je 0x10009759
jmp 0x10008b55
mov eax, dword [ebp - 0xac]
sub eax, 0xa38462da
je 0x1000990f
jmp 0x10008b6b
mov eax, dword [ebp - 0xac]
sub eax, 0xadd4729b
je 0x1000a075
jmp 0x10008b81
mov eax, dword [ebp - 0xac]
sub eax, 0xae7c5316
je 0x10009a94
jmp 0x10008b97
mov eax, dword [ebp - 0xac]
sub eax, 0xb4b52086
je 0x10009a0a
jmp 0x10008bad
mov eax, dword [ebp - 0xac]
sub eax, 0xb4b61d45
je 0x1000a454
jmp 0x10008bc3
mov eax, dword [ebp - 0xac]
sub eax, 0xbacced9b
je 0x100094c5
jmp 0x10008bd9
mov eax, dword [ebp - 0xac]
sub eax, 0xbbd87526
je 0x1000973b
jmp 0x10008bef
mov eax, dword [ebp - 0xac]
sub eax, 0xbe952413
je 0x10009833
jmp 0x10008c05
mov eax, dword [ebp - 0xac]
sub eax, 0xc0e30951
je 0x10009abd
jmp 0x10008c1b
mov eax, dword [ebp - 0xac]
sub eax, 0xcb6c6c89
je 0x10009f09
jmp 0x10008c31
mov eax, dword [ebp - 0xac]
sub eax, 0xcc7b9929
je 0x1000a2d5
jmp 0x10008c47
mov eax, dword [ebp - 0xac]
sub eax, 0xcd8d019e
je 0x1000a105
jmp 0x10008c5d
mov eax, dword [ebp - 0xac]
sub eax, 0xd30e97bc
je 0x1000a43c
jmp 0x10008c73
mov eax, dword [ebp - 0xac]
sub eax, 0xd70f1d4e
je 0x1000a3e0
jmp 0x10008c89
mov eax, dword [ebp - 0xac]
sub eax, 0xd84f11a0
je 0x10009c8a
jmp 0x10008c9f
mov eax, dword [ebp - 0xac]
sub eax, 0xd91cf899
je 0x1000a536
jmp 0x10008cb5
mov eax, dword [ebp - 0xac]
sub eax, 0xda89abae
je 0x100090f3
jmp 0x10008ccb
mov eax, dword [ebp - 0xac]
sub eax, 0xdea550d2
je 0x10009456
jmp 0x10008ce1
mov eax, dword [ebp - 0xac]
sub eax, 0xe33bba12
je 0x100096dc
jmp 0x10008cf7
mov eax, dword [ebp - 0xac]
sub eax, 0xe5051739
je 0x1000a28c
jmp 0x10008d0d
mov eax, dword [ebp - 0xac]
sub eax, 0xe51525b1
je 0x100097c4
jmp 0x10008d23
mov eax, dword [ebp - 0xac]
sub eax, 0xe620d859
je 0x10009371
jmp 0x10008d39
mov eax, dword [ebp - 0xac]
sub eax, 0xe6672a43
je 0x1000968b
jmp 0x10008d4f
mov eax, dword [ebp - 0xac]
sub eax, 0xe6aa7008
je 0x1000a134
jmp 0x10008d65
mov eax, dword [ebp - 0xac]
sub eax, 0xf07a7f76
je 0x10009b86
jmp 0x10008d7b
mov eax, dword [ebp - 0xac]
sub eax, 0xf5bd8dd3
je 0x10009474
jmp 0x10008d91
mov eax, dword [ebp - 0xac]
sub eax, 0x59e2f9a
je 0x10009e93
jmp 0x10008da7
mov eax, dword [ebp - 0xac]
sub eax, 0x69295ae
je 0x1000a024
jmp 0x10008dbd
mov eax, dword [ebp - 0xac]
sub eax, 0xbf292c5
je 0x10009533
jmp 0x10008dd3
mov eax, dword [ebp - 0xac]
sub eax, 0xde9e825
je 0x1000a17d
jmp 0x10008de9
mov eax, dword [ebp - 0xac]
sub eax, 0x10c2b351
je 0x100091d6
jmp 0x10008dff
mov eax, dword [ebp - 0xac]
sub eax, 0x1162cb59
je 0x10009d77
jmp 0x10008e15
mov eax, dword [ebp - 0xac]
sub eax, 0x12bad5d5
je 0x10009f18
jmp 0x10008e2b
mov eax, dword [ebp - 0xac]
sub eax, 0x19924fb3
je 0x1000a2f5
jmp 0x10008e41
mov eax, dword [ebp - 0xac]
sub eax, 0x1cebd318
je 0x1000a513
jmp 0x10008e57
mov eax, dword [ebp - 0xac]
sub eax, 0x1d1d9e9f
je 0x100095ca
jmp 0x10008e6d
mov eax, dword [ebp - 0xac]
sub eax, 0x21cdb271
je 0x100098a1
jmp 0x10008e83
mov eax, dword [ebp - 0xac]
sub eax, 0x28fc868a
je 0x1000a0f6
jmp 0x10008e99
mov eax, dword [ebp - 0xac]
sub eax, 0x29386cc3
je 0x1000a398
jmp 0x10008eaf
mov eax, dword [ebp - 0xac]
sub eax, 0x2bbb2e59
je 0x1000955c
jmp 0x10008ec5
mov eax, dword [ebp - 0xac]
sub eax, 0x2e1955e6
je 0x10009993
jmp 0x10008edb
mov eax, dword [ebp - 0xac]
sub eax, 0x34466a42
je 0x10009b0d
jmp 0x10008ef1
mov eax, dword [ebp - 0xac]
sub eax, 0x427cc799
je 0x10009542
jmp 0x10008f07
mov eax, dword [ebp - 0xac]
sub eax, 0x462b5d07
je 0x1000a4e5
jmp 0x10008f1d
mov eax, dword [ebp - 0xac]
sub eax, 0x47f595e4
je 0x10009ae1
jmp 0x10008f33
mov eax, dword [ebp - 0xac]
sub eax, 0x53777c55
je 0x1000a4fe
jmp 0x10008f49
mov eax, dword [ebp - 0xac]
sub eax, 0x5657d946
je 0x1000a389
jmp 0x10008f5f
mov eax, dword [ebp - 0xac]
sub eax, 0x5aaff218
je 0x10009f3d
jmp 0x10008f75
mov eax, dword [ebp - 0xac]
sub eax, 0x611ba26a
je 0x1000a2e6
mov al, byte [ebp - 0x9e]
mov cl, byte [ebp - 0x9d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x611ba26a
mov ecx, 0xda89abae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
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
push eax
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
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0xb5ac13b0
sub edx, 1
add edx, 0xb5ac13b0
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, 0x611ba26a
mov ecx, 0x784a6407
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [ebp - 0xa8]
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
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10025500
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa4], 0x99e5beea
jmp 0x1000a540
mov eax, dword [ebp - 0x60]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov edx, dword [ebp - 0x90]
mov eax, 0xa2609477
mov ecx, 0x64e4f1ba
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0x8db2b63b
jmp 0x1000a540
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
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 - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
sub edx, 0x93dadfd1
sub edx, 1
add edx, 0x93dadfd1
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, 0x19924fb3
mov ecx, 0xdea550d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dl, byte [ebp - 0x4d]
mov eax, 0x427cc799
mov ecx, 0xf5bd8dd3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
sub edx, 0x7bd9856e
sub edx, 1
add edx, 0x7bd9856e
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, 0x5657d946
mov ecx, 0xbacced9b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
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, 0x5657d946
mov ecx, 0xbf292c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0x8db2b63b
jmp 0x1000a540
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa4], 0x2bbb2e59
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
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, 0x29386cc3
mov ecx, 0x1d1d9e9f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x4c]
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 - 0x48], eax
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
add edx, 0x441037c8
sub edx, 1
sub edx, 0x441037c8
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, 0x29386cc3
mov ecx, 0x979126a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0xe6672a43
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
sub edx, 0x8d5951d8
sub edx, 1
add edx, 0x8d5951d8
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, 0xd70f1d4e
mov ecx, 0xe33bba12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0xd70f1d4e
mov ecx, 0xbbd87526
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dl, byte [ebp - 0x41]
mov eax, 0xa2f5c9e0
mov ecx, 0x8fc2b84e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa4], 0x985c92c5
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
sub edx, 0xd1939abc
sub edx, 1
add edx, 0xd1939abc
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, 0x6a11d287
mov ecx, 0xe51525b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
add edx, 0x172b7289
sub edx, 1
sub edx, 0x172b7289
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, 0x6a11d287
mov ecx, 0x71a21eef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
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, 0x7a978111
mov ecx, 0x21cdb271
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
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, 0x7a978111
mov ecx, 0xa38462da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0x8db2b63b
jmp 0x1000a540
mov eax, dword [ebp - 0x80]
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 ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
sub eax, 0x5fbf84f0
add eax, ecx
add eax, 0x5fbf84f0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa4], 0x2e1955e6
jmp 0x1000a540
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x9ec60de6
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x8029c3a6
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0x868efb6a
mov ecx, 0xb4b52086
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
add edx, 0xfc84fc0a
sub edx, 1
sub edx, 0xfc84fc0a
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, 0x868efb6a
mov ecx, 0xae7c5316
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0x7063d702
jmp 0x1000a540
mov ax, word [ebp - 0x2e]
movzx esi, ax
mov edx, dword [ebp - 0x38]
mov eax, 0x69295ae
mov ecx, 0x47f595e4
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0x8427b050
add eax, 0x18
sub eax, 0x8427b050
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa4], 0x34466a42
jmp 0x1000a540
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa4], 0x9339c13f
jmp 0x1000a540
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
sub ecx, 0xa1ee43b6
add ecx, eax
add ecx, 0xa1ee43b6
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100327ca
call fcn.10028e60
add esp, 8
mov edx, eax
mov eax, 0xf07a7f76
mov ecx, 0x8e53e73f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
add edx, 0x6504919e
sub edx, 1
sub edx, 0x6504919e
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, 0xd30e97bc
mov ecx, 0x829ab2c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0xb60e23d1
sub edx, 1
add edx, 0xb60e23d1
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, 0xd30e97bc
mov ecx, 0x79cf9d91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
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 - 0x68]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
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 - 0x1c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa4], 0x8bd466a9
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0xb4b61d45
mov ecx, 0x1162cb59
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10025660
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x93e657f0
add esi, eax
sub esi, 0x93e657f0
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0xb4b61d45
mov ecx, 0x68f0be10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
add edx, 0x97d43877
sub edx, 1
sub edx, 0x97d43877
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, 0x64c08756
mov ecx, 0x59e2f9a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0x4a06cfa5
sub edx, 1
add edx, 0x4a06cfa5
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, 0x64c08756
mov ecx, 0xcb6c6c89
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0x12bad5d5
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
add ax, 0xb10f
add ax, 1
sub ax, 0xb10f
mov word [ebp - 0x12], ax
mov dword [ebp - 0xa4], 0x5aaff218
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0x462b5d07
mov ecx, 0x9e0a253f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0x569a3020
sub edx, 1
add edx, 0x569a3020
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, 0x462b5d07
mov ecx, 0x7c543042
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
mov edx, eax
sub edx, 0xa259f21a
sub edx, 1
add edx, 0xa259f21a
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, 0x53777c55
mov ecx, 0xadd4729b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
add edx, 0xc472cd01
sub edx, 1
sub edx, 0xc472cd01
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, 0x53777c55
mov ecx, 0x28fc868a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov dword [ebp - 0xa4], 0xcd8d019e
jmp 0x1000a540
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xe6aa7008
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0x1cebd318
mov ecx, 0xde9e825
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0x191c0054
sub edx, 1
add edx, 0x191c0054
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, 0x1cebd318
mov ecx, 0x7894b08c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [0x10086584]
mov eax, dword [0x10086580]
mov edx, ecx
sub edx, 0xee8f430
sub edx, 1
add edx, 0xee8f430
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, 0xd91cf899
mov ecx, 0xe5051739
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov eax, dword [0x10086584]
mov ecx, dword [0x10086580]
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, 0xd91cf899
mov ecx, 0xcc7b9929
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x1000a540
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10024760
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
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 - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa4], 0xe620d859
jmp 0x1000a540
mov dword [ebp - 0xa4], 0xbacced9b
jmp 0x1000a540
mov eax, dword [ebp - 0x4c]
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 - 0xa4], 0x1d1d9e9f
jmp 0x1000a540
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], 0xe33bba12
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa4], 0xb4b52086
jmp 0x1000a540
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov dword [ebp - 0xa4], 0x829ab2c9
jmp 0x1000a540
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10025660
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x87731cc5
add esi, eax
add esi, 0x87731cc5
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov dword [ebp - 0xa4], 0x1162cb59
jmp 0x1000a540
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa4], 0x9e0a253f
jmp 0x1000a540
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa4], 0xadd4729b
jmp 0x1000a540
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xde9e825
jmp 0x1000a540
mov dword [ebp - 0xa4], 0xe5051739
jmp 0x100089ef