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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x10090080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
sub edx, 0x9a22ab91
sub edx, 1
add edx, 0x9a22ab91
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0x1aa11849
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x80b4a9ee
je 0x1000f08c
jmp 0x1000de84
mov eax, dword [ebp - 0xa8]
sub eax, 0x81f2c8b4
je 0x1000e95a
jmp 0x1000de9a
mov eax, dword [ebp - 0xa8]
sub eax, 0x852680ed
je 0x1000e650
jmp 0x1000deb0
mov eax, dword [ebp - 0xa8]
sub eax, 0x92d561e7
je 0x1000f58c
jmp 0x1000dec6
mov eax, dword [ebp - 0xa8]
sub eax, 0x9568ba66
je 0x1000e7de
jmp 0x1000dedc
mov eax, dword [ebp - 0xa8]
sub eax, 0x9a8b84fc
je 0x1000f59b
jmp 0x1000def2
mov eax, dword [ebp - 0xa8]
sub eax, 0x9ae2a387
je 0x1000ebb6
jmp 0x1000df08
mov eax, dword [ebp - 0xa8]
sub eax, 0x9ef1625f
je 0x1000e704
jmp 0x1000df1e
mov eax, dword [ebp - 0xa8]
sub eax, 0xa0a4d57f
je 0x1000f23a
jmp 0x1000df34
mov eax, dword [ebp - 0xa8]
sub eax, 0xa0db6400
je 0x1000eb22
jmp 0x1000df4a
mov eax, dword [ebp - 0xa8]
sub eax, 0xaa4f3be9
je 0x1000ed98
jmp 0x1000df60
mov eax, dword [ebp - 0xa8]
sub eax, 0xadb67978
je 0x1000ede9
jmp 0x1000df76
mov eax, dword [ebp - 0xa8]
sub eax, 0xb2196722
je 0x1000ef6d
jmp 0x1000df8c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb690eca2
je 0x1000f62d
jmp 0x1000dfa2
mov eax, dword [ebp - 0xa8]
sub eax, 0xb6ccb486
je 0x1000f18f
jmp 0x1000dfb8
mov eax, dword [ebp - 0xa8]
sub eax, 0xb985f582
je 0x1000efe3
jmp 0x1000dfce
mov eax, dword [ebp - 0xa8]
sub eax, 0xd107101a
je 0x1000ea9d
jmp 0x1000dfe4
mov eax, dword [ebp - 0xa8]
sub eax, 0xd7bef404
je 0x1000f472
jmp 0x1000dffa
mov eax, dword [ebp - 0xa8]
sub eax, 0xdd4b30a7
je 0x1000e977
jmp 0x1000e010
mov eax, dword [ebp - 0xa8]
sub eax, 0xe2b628bb
je 0x1000f61b
jmp 0x1000e026
mov eax, dword [ebp - 0xa8]
sub eax, 0xe545e6f1
je 0x1000f249
jmp 0x1000e03c
mov eax, dword [ebp - 0xa8]
sub eax, 0xe6f0f09e
je 0x1000e8f2
jmp 0x1000e052
mov eax, dword [ebp - 0xa8]
sub eax, 0xeb5ce070
je 0x1000eef8
jmp 0x1000e068
mov eax, dword [ebp - 0xa8]
sub eax, 0xece8ab1d
je 0x1000ee0d
jmp 0x1000e07e
mov eax, dword [ebp - 0xa8]
sub eax, 0xececf7c9
je 0x1000eb40
jmp 0x1000e094
mov eax, dword [ebp - 0xa8]
sub eax, 0xedbdbc9b
je 0x1000f19e
jmp 0x1000e0aa
mov eax, dword [ebp - 0xa8]
sub eax, 0xedfd0c52
je 0x1000f4a2
jmp 0x1000e0c0
mov eax, dword [ebp - 0xa8]
sub eax, 0xf5ef8ed4
je 0x1000e5cb
jmp 0x1000e0d6
mov eax, dword [ebp - 0xa8]
sub eax, 0xf72600ae
je 0x1000ea27
jmp 0x1000e0ec
mov eax, dword [ebp - 0xa8]
sub eax, 0xfa4b4fb9
je 0x1000f3d6
jmp 0x1000e102
mov eax, dword [ebp - 0xa8]
sub eax, 0xfe416d2f
je 0x1000e8b9
jmp 0x1000e118
mov eax, dword [ebp - 0xa8]
sub eax, 0xe738f5
je 0x1000e4a6
jmp 0x1000e12e
mov eax, dword [ebp - 0xa8]
sub eax, 0x6add181
je 0x1000f016
jmp 0x1000e144
mov eax, dword [ebp - 0xa8]
sub eax, 0x9d13e2f
je 0x1000f342
jmp 0x1000e15a
mov eax, dword [ebp - 0xa8]
sub eax, 0xbceb396
je 0x1000e768
jmp 0x1000e170
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1a8652
je 0x1000e6ac
jmp 0x1000e186
mov eax, dword [ebp - 0xa8]
sub eax, 0xecf4a6e
je 0x1000ed5f
jmp 0x1000e19c
mov eax, dword [ebp - 0xa8]
sub eax, 0x10257539
je 0x1000eb13
jmp 0x1000e1b2
mov eax, dword [ebp - 0xa8]
sub eax, 0x10d94da2
je 0x1000e6bb
jmp 0x1000e1c8
mov eax, dword [ebp - 0xa8]
sub eax, 0x129fe73e
je 0x1000f5ad
jmp 0x1000e1de
mov eax, dword [ebp - 0xa8]
sub eax, 0x13ada4fb
je 0x1000f6d4
jmp 0x1000e1f4
mov eax, dword [ebp - 0xa8]
sub eax, 0x19e4fd1b
je 0x1000edaf
jmp 0x1000e20a
mov eax, dword [ebp - 0xa8]
sub eax, 0x1aa11849
je 0x1000e477
jmp 0x1000e220
mov eax, dword [ebp - 0xa8]
sub eax, 0x1c2d9aa8
je 0x1000ec16
jmp 0x1000e236
mov eax, dword [ebp - 0xa8]
sub eax, 0x1e727996
je 0x1000f6e6
jmp 0x1000e24c
mov eax, dword [ebp - 0xa8]
sub eax, 0x1f3f0209
je 0x1000e6f5
jmp 0x1000e262
mov eax, dword [ebp - 0xa8]
sub eax, 0x2230ff15
je 0x1000f1e7
jmp 0x1000e278
mov eax, dword [ebp - 0xa8]
sub eax, 0x2689f8e1
je 0x1000ec8c
jmp 0x1000e28e
mov eax, dword [ebp - 0xa8]
sub eax, 0x2c7d0474
je 0x1000f180
jmp 0x1000e2a4
mov eax, dword [ebp - 0xa8]
sub eax, 0x31c39e51
je 0x1000e901
jmp 0x1000e2ba
mov eax, dword [ebp - 0xa8]
sub eax, 0x34354892
je 0x1000ee24
jmp 0x1000e2d0
mov eax, dword [ebp - 0xa8]
sub eax, 0x35522aab
je 0x1000f447
jmp 0x1000e2e6
mov eax, dword [ebp - 0xa8]
sub eax, 0x37e26278
je 0x1000e5da
jmp 0x1000e2fc
mov eax, dword [ebp - 0xa8]
sub eax, 0x3b3dd594
je 0x1000ee9a
jmp 0x1000e312
mov eax, dword [ebp - 0xa8]
sub eax, 0x3beb8a48
je 0x1000f721
jmp 0x1000e328
mov eax, dword [ebp - 0xa8]
sub eax, 0x3cf704fc
je 0x1000ed6e
jmp 0x1000e33e
mov eax, dword [ebp - 0xa8]
sub eax, 0x415f4755
je 0x1000f506
jmp 0x1000e354
mov eax, dword [ebp - 0xa8]
sub eax, 0x4921a064
je 0x1000e8c8
jmp 0x1000e36a
mov eax, dword [ebp - 0xa8]
sub eax, 0x4ddef163
je 0x1000f438
jmp 0x1000e380
mov eax, dword [ebp - 0xa8]
sub eax, 0x5658a1ed
je 0x1000f51b
jmp 0x1000e396
mov eax, dword [ebp - 0xa8]
sub eax, 0x5cc39bc8
je 0x1000f490
jmp 0x1000e3ac
mov eax, dword [ebp - 0xa8]
sub eax, 0x6111ff51
je 0x1000edc8
jmp 0x1000e3c2
mov eax, dword [ebp - 0xa8]
sub eax, 0x662852cb
je 0x1000ea09
jmp 0x1000e3d8
mov eax, dword [ebp - 0xa8]
sub eax, 0x6841bdfd
je 0x1000e9c0
jmp 0x1000e3ee
mov eax, dword [ebp - 0xa8]
sub eax, 0x692f8c65
je 0x1000ec07
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xedfd0c52
mov ecx, 0xe738f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
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
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
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10023ae0
add esp, 0xc
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
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, 0xedfd0c52
mov ecx, 0xf5ef8ed4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x37e26278
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0xdde84c1d
sub edx, 1
sub edx, 0xdde84c1d
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, 0x415f4755
mov ecx, 0x852680ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
mov edx, eax
add edx, 0xfdd438d5
sub edx, 1
sub edx, 0xfdd438d5
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, 0x415f4755
mov ecx, 0xe1a8652
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x10d94da2
jmp 0x1000f73c
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0x1f3f0209
mov ecx, 0x9ef1625f
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x5cc39bc8
jmp 0x1000f73c
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
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 - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa0], 0xbceb396
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
sub edx, 0xdb099106
sub edx, 1
add edx, 0xdb099106
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, 0x5658a1ed
mov ecx, 0x9568ba66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
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 - 0x84]
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 - 0x50], eax
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0xe8f79b37
sub edx, 1
sub edx, 0xe8f79b37
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, 0x5658a1ed
mov ecx, 0xfe416d2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x4921a064
jmp 0x1000f73c
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov esi, 0xffffffff
mov eax, 0x31c39e51
mov ecx, 0xe6f0f09e
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x5cc39bc8
jmp 0x1000f73c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x81f2c8b4
jmp 0x1000f73c
mov eax, dword [ebp - 0x4c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov dword [ebp - 0xa0], 0xdd4b30a7
jmp 0x1000f73c
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
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, 0x92d561e7
mov ecx, 0x6841bdfd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
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, 0x92d561e7
mov ecx, 0x662852cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dl, byte [ebp - 0x45]
mov eax, 0xf72600ae
mov ecx, 0x1c2d9aa8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0x3ad47689
sub edx, 1
sub edx, 0x3ad47689
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, 0x9a8b84fc
mov ecx, 0xd107101a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
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, 0x9a8b84fc
mov ecx, 0x10257539
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0xa0db6400
jmp 0x1000f73c
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xececf7c9
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0xfbb5a3a9
sub edx, 1
sub edx, 0xfbb5a3a9
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, 0x129fe73e
mov ecx, 0x9ae2a387
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
mov edx, eax
add edx, 0xe54aedce
sub edx, 1
sub edx, 0xe54aedce
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, 0x129fe73e
mov ecx, 0x692f8c65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0x19dd5c56
sub edx, 1
sub edx, 0x19dd5c56
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, 0x722fb364
mov ecx, 0x2689f8e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
sub edx, 0xc2df5a78
sub edx, 1
add edx, 0xc2df5a78
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, 0x722fb364
mov ecx, 0xecf4a6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x3cf704fc
jmp 0x1000f73c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
sub ecx, 0xfdd27c28
add ecx, eax
add ecx, 0xfdd27c28
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xaa4f3be9
jmp 0x1000f73c
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x19e4fd1b
jmp 0x1000f73c
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x36], ax
mov dword [ebp - 0xa0], 0x6111ff51
jmp 0x1000f73c
mov ax, word [ebp - 0x36]
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa0], 0xadb67978
jmp 0x1000f73c
mov eax, dword [ebp - 0x30]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x34]
mov eax, 0x7d1d23c0
mov ecx, 0xece8ab1d
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa0], 0x34354892
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
sub edx, 0xaf7c318c
sub edx, 1
add edx, 0xaf7c318c
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, 0xe2b628bb
mov ecx, 0x3b3dd594
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
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, 0xe2b628bb
mov ecx, 0x6b62801f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov ecx, dword [ebp - 0x28]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x18
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xc4fa1db5
add ecx, eax
sub ecx, 0xc4fa1db5
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10031866
call fcn.10027440
add esp, 8
mov edx, eax
mov eax, 0xb2196722
mov ecx, 0xb6ccb486
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xa752d464
add edx, eax
add edx, 0xa752d464
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa0], 0xb985f582
jmp 0x1000f73c
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0x6add181
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
mov edx, ecx
add edx, 0xa2e166b5
sub edx, 1
sub edx, 0xa2e166b5
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, 0xb690eca2
mov ecx, 0x80b4a9ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x1c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10023c40
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
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, 0xb690eca2
mov ecx, 0x2c7d0474
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0xb6ccb486
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0xedbdbc9b
jmp 0x1000f73c
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
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, 0x13ada4fb
mov ecx, 0x2230ff15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
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, 0x13ada4fb
mov ecx, 0xa0a4d57f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0xe545e6f1
jmp 0x1000f73c
mov ecx, dword [0x1009154c]
mov eax, dword [0x10091548]
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, 0x1e727996
mov ecx, 0x79d8fbb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x6e960a79
jmp 0x1000f73c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1009154c]
mov ecx, dword [0x10091548]
mov edx, eax
add edx, 0x41f3553d
sub edx, 1
sub edx, 0x41f3553d
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, 0x3beb8a48
mov ecx, 0x4ddef163
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x35522aab
jmp 0x1000f73c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa0], 0xd7bef404
jmp 0x1000f73c
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x5cc39bc8
jmp 0x1000f73c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10022d40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xb0], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xac], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xb0]
mov edx, eax
mov eax, dword [ebp - 0xac]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10023ae0
add esp, 0xc
mov dword [ebp - 0xa0], 0xe738f5
jmp 0x1000f73c
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], 0x852680ed
jmp 0x1000f73c
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
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 - 0x84]
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 - 0xa0], 0x9568ba66
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x6841bdfd
jmp 0x1000f73c
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xd107101a
jmp 0x1000f73c
mov dword [ebp - 0xa0], 0x9ae2a387
jmp 0x1000f73c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xa0], 0x3b3dd594
jmp 0x1000f73c
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10023c40
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x80b4a9ee
jmp 0x1000f73c
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], 0x2230ff15
jmp 0x1000f73c
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov ax, word [ebp - 0x16]
mov cx, word [ebp - 0x16]
sub cx, 0xb4e0
add cx, 1
add cx, 0xb4e0
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov dword [ebp - 0xa0], 0x79d8fbb1
jmp 0x1000f73c
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 - 0xa0], 0xfa4b4fb9
jmp 0x1000de68