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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x10085080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0xfd6d125f
sub edx, 1
sub edx, 0xfd6d125f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0x121aa4f1
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x83b595aa
je 0x100091cf
jmp 0x10008153
mov eax, dword [ebp - 0x98]
sub eax, 0x8842a366
je 0x100090bc
jmp 0x10008169
mov eax, dword [ebp - 0x98]
sub eax, 0x8f005887
je 0x10008d91
jmp 0x1000817f
mov eax, dword [ebp - 0x98]
sub eax, 0x910781a8
je 0x1000929f
jmp 0x10008195
mov eax, dword [ebp - 0x98]
sub eax, 0x9137c511
je 0x100090ad
jmp 0x100081ab
mov eax, dword [ebp - 0x98]
sub eax, 0x96812f08
je 0x10009b30
jmp 0x100081c1
mov eax, dword [ebp - 0x98]
sub eax, 0x98d81199
je 0x10009681
jmp 0x100081d7
mov eax, dword [ebp - 0x98]
sub eax, 0x9a80c3f4
je 0x10009156
jmp 0x100081ed
mov eax, dword [ebp - 0x98]
sub eax, 0x9aca44df
je 0x10008e66
jmp 0x10008203
mov eax, dword [ebp - 0x98]
sub eax, 0x9cd54fe0
je 0x10008de2
jmp 0x10008219
mov eax, dword [ebp - 0x98]
sub eax, 0x9e10f597
je 0x100093de
jmp 0x1000822f
mov eax, dword [ebp - 0x98]
sub eax, 0x9ea3561a
je 0x10009947
jmp 0x10008245
mov eax, dword [ebp - 0x98]
sub eax, 0x9f508343
je 0x10009965
jmp 0x1000825b
mov eax, dword [ebp - 0x98]
sub eax, 0xa0d1c1d9
je 0x10008a7d
jmp 0x10008271
mov eax, dword [ebp - 0x98]
sub eax, 0xa7659ff3
je 0x1000944b
jmp 0x10008287
mov eax, dword [ebp - 0x98]
sub eax, 0xa9be5007
je 0x100092c8
jmp 0x1000829d
mov eax, dword [ebp - 0x98]
sub eax, 0xaa429b45
je 0x100095ee
jmp 0x100082b3
mov eax, dword [ebp - 0x98]
sub eax, 0xb2f38f9e
je 0x1000898c
jmp 0x100082c9
mov eax, dword [ebp - 0x98]
sub eax, 0xb35bf639
je 0x100090e8
jmp 0x100082df
mov eax, dword [ebp - 0x98]
sub eax, 0xb634a998
je 0x10009938
jmp 0x100082f5
mov eax, dword [ebp - 0x98]
sub eax, 0xb9cf16ca
je 0x10008d7a
jmp 0x1000830b
mov eax, dword [ebp - 0x98]
sub eax, 0xbb20180c
je 0x10008d1a
jmp 0x10008321
mov eax, dword [ebp - 0x98]
sub eax, 0xc8ef3eef
je 0x100098e7
jmp 0x10008337
mov eax, dword [ebp - 0x98]
sub eax, 0xc910e3c0
je 0x10009879
jmp 0x1000834d
mov eax, dword [ebp - 0x98]
sub eax, 0xcae0bbba
je 0x100094de
jmp 0x10008363
mov eax, dword [ebp - 0x98]
sub eax, 0xceab8c80
je 0x100099ea
jmp 0x10008379
mov eax, dword [ebp - 0x98]
sub eax, 0xcf84f7ee
je 0x100088ef
jmp 0x1000838f
mov eax, dword [ebp - 0x98]
sub eax, 0xcfad42fa
je 0x100096a6
jmp 0x100083a5
mov eax, dword [ebp - 0x98]
sub eax, 0xcfea5b84
je 0x100097f4
jmp 0x100083bb
mov eax, dword [ebp - 0x98]
sub eax, 0xd737b40b
je 0x10008fa5
jmp 0x100083d1
mov eax, dword [ebp - 0x98]
sub eax, 0xd80ab481
je 0x10008f78
jmp 0x100083e7
mov eax, dword [ebp - 0x98]
sub eax, 0xdd7256ec
je 0x10009672
jmp 0x100083fd
mov eax, dword [ebp - 0x98]
sub eax, 0xde2ea59d
je 0x10009b63
jmp 0x10008413
mov eax, dword [ebp - 0x98]
sub eax, 0xdebc8185
je 0x10008c39
jmp 0x10008429
mov eax, dword [ebp - 0x98]
sub eax, 0xdfe9d11c
je 0x1000883b
jmp 0x1000843f
mov eax, dword [ebp - 0x98]
sub eax, 0xe105dffb
je 0x10008e84
jmp 0x10008455
mov eax, dword [ebp - 0x98]
sub eax, 0xe3a27415
je 0x10009220
jmp 0x1000846b
mov eax, dword [ebp - 0x98]
sub eax, 0xe68433d1
je 0x10008fb4
jmp 0x10008481
mov eax, dword [ebp - 0x98]
sub eax, 0xe7b142ab
je 0x10009c6d
jmp 0x10008497
mov eax, dword [ebp - 0x98]
sub eax, 0xeaaa3a5d
je 0x10009c06
jmp 0x100084ad
mov eax, dword [ebp - 0x98]
sub eax, 0xf0e4a55b
je 0x100092ae
jmp 0x100084c3
mov eax, dword [ebp - 0x98]
sub eax, 0xf7070114
je 0x10008d29
jmp 0x100084d9
mov eax, dword [ebp - 0x98]
sub eax, 0xfa8bdd52
je 0x10009336
jmp 0x100084ef
mov eax, dword [ebp - 0x98]
sub eax, 0xfe3cc682
je 0x100093c0
jmp 0x10008505
mov eax, dword [ebp - 0x98]
sub eax, 0xff34b69a
je 0x10009c31
jmp 0x1000851b
mov eax, dword [ebp - 0x98]
sub eax, 0x99d7ac
je 0x10008b02
jmp 0x10008531
mov eax, dword [ebp - 0x98]
sub eax, 0x61cf38a
je 0x10008efa
jmp 0x10008547
mov eax, dword [ebp - 0x98]
sub eax, 0x6434f5f
je 0x1000986a
jmp 0x1000855d
mov eax, dword [ebp - 0x98]
sub eax, 0x121aa4f1
je 0x1000880c
jmp 0x10008573
mov eax, dword [ebp - 0x98]
sub eax, 0x17cbf483
je 0x10008a5f
jmp 0x10008589
mov eax, dword [ebp - 0x98]
sub eax, 0x1fcc4619
je 0x10009c7c
jmp 0x1000859f
mov eax, dword [ebp - 0x98]
sub eax, 0x20e17c1d
je 0x10008cac
jmp 0x100085b5
mov eax, dword [ebp - 0x98]
sub eax, 0x24a4604c
je 0x10009ac9
jmp 0x100085cb
mov eax, dword [ebp - 0x98]
sub eax, 0x2a36e949
je 0x10009c54
jmp 0x100085e1
mov eax, dword [ebp - 0x98]
sub eax, 0x2a89387a
je 0x10009005
jmp 0x100085f7
mov eax, dword [ebp - 0x98]
sub eax, 0x2a9ad540
je 0x10009a5b
jmp 0x1000860d
mov eax, dword [ebp - 0x98]
sub eax, 0x2f3d9bb3
je 0x10009b3f
jmp 0x10008623
mov eax, dword [ebp - 0x98]
sub eax, 0x342788ce
je 0x1000952f
jmp 0x10008639
mov eax, dword [ebp - 0x98]
sub eax, 0x380ddfce
je 0x100088e0
jmp 0x1000864f
mov eax, dword [ebp - 0x98]
sub eax, 0x3906c997
je 0x10009999
jmp 0x10008665
mov eax, dword [ebp - 0x98]
sub eax, 0x3b757396
je 0x100091c0
jmp 0x1000867b
mov eax, dword [ebp - 0x98]
sub eax, 0x3f29b1be
je 0x10009c1b
jmp 0x10008691
mov eax, dword [ebp - 0x98]
sub eax, 0x3fb3ab2e
je 0x1000976f
jmp 0x100086a7
mov eax, dword [ebp - 0x98]
sub eax, 0x4cae8da2
je 0x10009a4c
jmp 0x100086bd
mov eax, dword [ebp - 0x98]
sub eax, 0x551d90d8
je 0x100095df
mov al, byte [ebp - 0x8a]
mov cl, byte [ebp - 0x89]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4cae8da2
mov ecx, 0xdfe9d11c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0xc
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
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
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, 0x4cae8da2
mov ecx, 0x380ddfce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0xcf84f7ee
jmp 0x10009c98
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 dword [ebp - 0x90], 0x7c2e4abf
jmp 0x10009c98
mov ecx, dword [ebp - 0x94]
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10018fc0
add esp, 0xc
mov eax, dword [ebp - 0x88]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0x4d9d9803
sub edx, 1
add edx, 0x4d9d9803
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, 0x2a9ad540
mov ecx, 0x17cbf483
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dl, byte [ebp - 0x49]
mov eax, 0xa0d1c1d9
mov ecx, 0x65c90ebd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x3906c997
jmp 0x10009c98
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
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 - 0x74]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x8d2abb6c
sub edx, 1
sub edx, 0x8d2abb6c
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, 0x24a4604c
mov ecx, 0x7781383a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0xf7070114
mov ecx, 0x6f36ad98
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
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, 0x96812f08
mov ecx, 0xbb20180c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x3906c997
jmp 0x10009c98
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0xb9cf16ca
jmp 0x10009c98
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x90], 0x8f005887
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x29e8372d
sub edx, 1
sub edx, 0x29e8372d
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, 0x2f3d9bb3
mov ecx, 0x9cd54fe0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x44]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x3d], al
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
sub edx, 0x68ac918a
sub edx, 1
add edx, 0x68ac918a
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, 0x2f3d9bb3
mov ecx, 0x9aca44df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dl, byte [ebp - 0x3d]
mov eax, 0xe105dffb
mov ecx, 0xe68433d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0xdf6e5493
sub edx, 1
sub edx, 0xdf6e5493
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, 0x64f3aa2e
mov ecx, 0x61cf38a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
sub edx, 0x6cf1d947
sub edx, 1
add edx, 0x6cf1d947
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, 0x64f3aa2e
mov ecx, 0xd80ab481
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x64416fb3
jmp 0x10009c98
mov dword [ebp - 0x90], 0x3906c997
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x657c55ea
sub edx, 1
sub edx, 0x657c55ea
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, 0xde2ea59d
mov ecx, 0x2a89387a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
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, 0xde2ea59d
mov ecx, 0x9137c511
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x8842a366
jmp 0x10009c98
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x90], 0xb35bf639
jmp 0x10009c98
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, 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, 0x6b17ac09
mov ecx, 0x9a80c3f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0xdabad8a1
sub edx, 1
add edx, 0xdabad8a1
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, 0x6b17ac09
mov ecx, 0x3b757396
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x83b595aa
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0x653a8d17
sub edx, 1
add edx, 0x653a8d17
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, 0xeaaa3a5d
mov ecx, 0xe3a27415
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
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, 0xeaaa3a5d
mov ecx, 0x910781a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0xf0e4a55b
jmp 0x10009c98
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + 6]
mov word [ebp - 0x28], ax
mov dword [ebp - 0x90], 0xa9be5007
jmp 0x10009c98
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, 0x3f29b1be
mov ecx, 0xfa8bdd52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov ax, word [ebp - 0x28]
movzx ecx, ax
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x75a0816f
sub edx, 1
sub edx, 0x75a0816f
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, 0x3f29b1be
mov ecx, 0xfe3cc682
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dl, byte [ebp - 0x25]
mov eax, 0xc910e3c0
mov ecx, 0x9e10f597
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
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 - 0x60]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
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 - 0x5c]
movzx eax, word [eax]
imul edx, eax, 0x28
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 - 0x58]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x58b635d1
jmp 0x10009c98
mov ecx, dword [ebp - 0x24]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10026b25
call fcn.1001c920
add esp, 8
mov edx, eax
mov eax, 0x58ad58bd
mov ecx, 0xdd7256ec
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0x681a632b
sub edx, 1
add edx, 0x681a632b
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, 0xff34b69a
mov ecx, 0x342788ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x1d]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xaca63b79
add eax, ecx
add eax, 0xaca63b79
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0xa57aea53
sub edx, 1
sub edx, 0xa57aea53
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, 0xff34b69a
mov ecx, 0x551d90d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10019120
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xff7765c1
add esi, eax
sub esi, 0xff7765c1
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x90], 0xdd7256ec
jmp 0x10009c98
mov dword [ebp - 0x90], 0x98d81199
jmp 0x10009c98
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
sub ax, 0x996c
add ax, 1
add ax, 0x996c
mov word [ebp - 0x12], ax
mov dword [ebp - 0x90], 0xcfad42fa
jmp 0x10009c98
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, 0x2a36e949
mov ecx, 0x7b08b84b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x6b405bc4
jmp 0x10009c98
mov ecx, dword [0x10086554]
mov eax, dword [0x10086550]
mov edx, ecx
add edx, 0x8ee56c18
sub edx, 1
sub edx, 0x8ee56c18
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, 0xe7b142ab
mov ecx, 0x6434f5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x83b595aa
jmp 0x10009c98
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, 0x1fcc4619
mov ecx, 0xc8ef3eef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
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, 0x1fcc4619
mov ecx, 0xb634a998
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0x9ea3561a
jmp 0x10009c98
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x9f508343
jmp 0x10009c98
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x3906c997
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
sub edx, 0xfe4923f4
sub edx, 1
add edx, 0xfe4923f4
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, 0x6181714f
mov ecx, 0xceab8c80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov eax, dword [0x10086554]
mov ecx, dword [0x10086550]
mov edx, eax
add edx, 0x8e46c087
sub edx, 1
sub edx, 0x8e46c087
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, 0x6181714f
mov ecx, 0x5f43e4f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10009c98
mov dword [ebp - 0x90], 0xdfe9d11c
jmp 0x10009c98
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10018fc0
add esp, 0xc
mov eax, dword [ebp - 0x88]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x90], 0xb2f38f9e
jmp 0x10009c98
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
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 - 0x74]
mov dword [ebp - 0x90], 0x99d7ac
jmp 0x10009c98
mov dword [ebp - 0x90], 0x20e17c1d
jmp 0x10009c98
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x90], 0x9cd54fe0
jmp 0x10009c98
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x2a89387a
jmp 0x10009c98
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x90], 0xe3a27415
jmp 0x10009c98
mov ax, word [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x90], 0xfa8bdd52
jmp 0x10009c98
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x1d]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], 0x342788ce
jmp 0x10009c98
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x90], 0x7b08b84b
jmp 0x10009c98
mov dword [ebp - 0x90], 0xcfea5b84
jmp 0x10009c98
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0xc8ef3eef
jmp 0x10009c98
jmp 0x10008137