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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x10084280]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x94], 0x94a54a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x817ca36d
je 0x1000a7f5
jmp 0x10009904
mov eax, dword [ebp - 0x9c]
sub eax, 0x84e81fff
je 0x1000a3ed
jmp 0x1000991a
mov eax, dword [ebp - 0x9c]
sub eax, 0x96ed51fd
je 0x1000a2fe
jmp 0x10009930
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a4eab89
je 0x10009e2f
jmp 0x10009946
mov eax, dword [ebp - 0x9c]
sub eax, 0x9dd7b172
je 0x1000a1e5
jmp 0x1000995c
mov eax, dword [ebp - 0x9c]
sub eax, 0x9f66207a
je 0x1000a157
jmp 0x10009972
mov eax, dword [ebp - 0x9c]
sub eax, 0x9fe391a1
je 0x1000a184
jmp 0x10009988
mov eax, dword [ebp - 0x9c]
sub eax, 0xb40a128a
je 0x1000a682
jmp 0x1000999e
mov eax, dword [ebp - 0x9c]
sub eax, 0xb424fbf5
je 0x10009ff5
jmp 0x100099b4
mov eax, dword [ebp - 0x9c]
sub eax, 0xb68353be
je 0x10009fe6
jmp 0x100099ca
mov eax, dword [ebp - 0x9c]
sub eax, 0xc27b94bd
je 0x1000a827
jmp 0x100099e0
mov eax, dword [ebp - 0x9c]
sub eax, 0xcd51ef2e
je 0x10009f09
jmp 0x100099f6
mov eax, dword [ebp - 0x9c]
sub eax, 0xd26244ba
je 0x1000a71c
jmp 0x10009a0c
mov eax, dword [ebp - 0x9c]
sub eax, 0xd54627b1
je 0x1000a691
jmp 0x10009a22
mov eax, dword [ebp - 0x9c]
sub eax, 0xe05d52a2
je 0x1000a398
jmp 0x10009a38
mov eax, dword [ebp - 0x9c]
sub eax, 0xe99a0e23
je 0x1000a40b
jmp 0x10009a4e
mov eax, dword [ebp - 0x9c]
sub eax, 0xe9d65a77
je 0x1000a47a
jmp 0x10009a64
mov eax, dword [ebp - 0x9c]
sub eax, 0xf31338ae
je 0x1000a6e5
jmp 0x10009a7a
mov eax, dword [ebp - 0x9c]
sub eax, 0xf5c28f7e
je 0x1000a815
jmp 0x10009a90
mov eax, dword [ebp - 0x9c]
sub eax, 0xf5fbfa6f
je 0x1000a75b
jmp 0x10009aa6
mov eax, dword [ebp - 0x9c]
sub eax, 0xf71e8235
je 0x1000a6cc
jmp 0x10009abc
mov eax, dword [ebp - 0x9c]
sub eax, 0x94a54a
je 0x10009d55
jmp 0x10009ad2
mov eax, dword [ebp - 0x9c]
sub eax, 0x5a99bd5
je 0x10009e20
jmp 0x10009ae8
mov eax, dword [ebp - 0x9c]
sub eax, 0x87ce19a
je 0x1000a6a0
jmp 0x10009afe
mov eax, dword [ebp - 0x9c]
sub eax, 0xdef414b
je 0x10009f70
jmp 0x10009b14
mov eax, dword [ebp - 0x9c]
sub eax, 0x11cc45c7
je 0x1000a5e0
jmp 0x10009b2a
mov eax, dword [ebp - 0x9c]
sub eax, 0x12534f47
je 0x1000a4ba
jmp 0x10009b40
mov eax, dword [ebp - 0x9c]
sub eax, 0x1462d7ed
je 0x1000a806
jmp 0x10009b56
mov eax, dword [ebp - 0x9c]
sub eax, 0x149d57c2
je 0x1000a7a4
jmp 0x10009b6c
mov eax, dword [ebp - 0x9c]
sub eax, 0x168e59da
je 0x1000a2ef
jmp 0x10009b82
mov eax, dword [ebp - 0x9c]
sub eax, 0x1b3798f9
je 0x1000a140
jmp 0x10009b98
mov eax, dword [ebp - 0x9c]
sub eax, 0x225d29d9
je 0x1000a3a7
jmp 0x10009bae
mov eax, dword [ebp - 0x9c]
sub eax, 0x27c754e3
je 0x1000a175
jmp 0x10009bc4
mov eax, dword [ebp - 0x9c]
sub eax, 0x30368ad6
je 0x10009d78
jmp 0x10009bda
mov eax, dword [ebp - 0x9c]
sub eax, 0x308f621a
je 0x10009f27
jmp 0x10009bf0
mov eax, dword [ebp - 0x9c]
sub eax, 0x39fde73c
je 0x1000a122
jmp 0x10009c06
mov eax, dword [ebp - 0x9c]
sub eax, 0x3bca5cb3
je 0x1000a3ca
jmp 0x10009c1c
mov eax, dword [ebp - 0x9c]
sub eax, 0x3ca1f6a0
je 0x1000a25b
jmp 0x10009c32
mov eax, dword [ebp - 0x9c]
sub eax, 0x3f3cdfba
je 0x1000a587
jmp 0x10009c48
mov eax, dword [ebp - 0x9c]
sub eax, 0x522a9099
je 0x1000a0d3
jmp 0x10009c5e
mov eax, dword [ebp - 0x9c]
sub eax, 0x52a94911
je 0x1000a882
jmp 0x10009c74
mov eax, dword [ebp - 0x9c]
sub eax, 0x5c5f893c
je 0x10009e50
jmp 0x10009c8a
mov eax, dword [ebp - 0x9c]
sub eax, 0x5fd503db
je 0x1000a74c
jmp 0x10009ca0
mov eax, dword [ebp - 0x9c]
sub eax, 0x648951ae
je 0x1000a451
jmp 0x10009cb6
mov eax, dword [ebp - 0x9c]
sub eax, 0x65d14c50
je 0x1000a86b
jmp 0x10009ccc
mov eax, dword [ebp - 0x9c]
sub eax, 0x65f6fbea
je 0x1000a6f4
jmp 0x10009ce2
mov eax, dword [ebp - 0x9c]
sub eax, 0x6a660265
je 0x1000a347
jmp 0x10009cf8
mov eax, dword [ebp - 0x9c]
sub eax, 0x6e466db9
je 0x1000a854
jmp 0x10009d0e
mov eax, dword [ebp - 0x9c]
sub eax, 0x7314c4ee
je 0x1000a0c4
jmp 0x10009d24
mov eax, dword [ebp - 0x9c]
sub eax, 0x76ab27bd
je 0x1000a046
jmp 0x10009d3a
mov eax, dword [ebp - 0x9c]
sub eax, 0x7aecd33b
je 0x1000a629
jmp 0x10009d50
jmp 0x1000a88c
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x94], 0x30368ad6
jmp 0x1000a88c
mov eax, dword [ebp - 0x98]
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x88], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10024bf0
add esp, 0xc
mov eax, dword [ebp - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x90], eax
mov eax, 0x5a99bd5
mov ecx, 0x9a4eab89
cmp dword [ebp - 0x90], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0xf5fbfa6f
jmp 0x1000a88c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x94], 0x5c5f893c
jmp 0x1000a88c
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x18]
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 ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x90]
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 - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x94], 0xcd51ef2e
jmp 0x1000a88c
mov dl, byte [ebp - 0x4d]
mov eax, 0xb424fbf5
mov ecx, 0x308f621a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
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, 0x1462d7ed
mov ecx, 0xdef414b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov ecx, dword [0x10085744]
mov eax, dword [0x10085740]
mov edx, ecx
add edx, 0x6a5e3be9
sub edx, 1
sub edx, 0x6a5e3be9
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, 0x1462d7ed
mov ecx, 0xb68353be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0xf5fbfa6f
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
mov edx, eax
add edx, 0xec923429
sub edx, 1
sub edx, 0xec923429
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, 0xf5c28f7e
mov ecx, 0x76ab27bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x10085744]
mov eax, dword [0x10085740]
mov edx, ecx
add edx, 0x71ee61d9
sub edx, 1
sub edx, 0x71ee61d9
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, 0xf5c28f7e
mov ecx, 0x7314c4ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x522a9099
jmp 0x1000a88c
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 ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x39fde73c
jmp 0x1000a88c
mov edx, dword [ebp - 0x78]
mov eax, 0x1b3798f9
mov ecx, 0x9fe391a1
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0x9f66207a
jmp 0x1000a88c
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x27c754e3
jmp 0x1000a88c
mov dword [ebp - 0x94], 0xf5fbfa6f
jmp 0x1000a88c
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0x9dd7b172
jmp 0x1000a88c
mov ecx, dword [0x10085744]
mov eax, dword [0x10085740]
mov edx, ecx
sub edx, 0x5f7e4a85
sub edx, 1
add edx, 0x5f7e4a85
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, 0xc27b94bd
mov ecx, 0x3ca1f6a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0x60ebbcc6
add ecx, eax
sub ecx, 0x60ebbcc6
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov ecx, dword [0x10085744]
mov eax, dword [0x10085740]
mov edx, ecx
sub edx, 0xd220d3d3
sub edx, 1
add edx, 0xd220d3d3
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, 0xc27b94bd
mov ecx, 0x168e59da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x96ed51fd
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
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, 0x6e466db9
mov ecx, 0x6a660265
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
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, 0x6e466db9
mov ecx, 0xe05d52a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x225d29d9
jmp 0x1000a88c
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0x3bca5cb3
jmp 0x1000a88c
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x35], al
mov dword [ebp - 0x94], 0x84e81fff
jmp 0x1000a88c
mov dl, byte [ebp - 0x35]
mov eax, 0x65f6fbea
mov ecx, 0xe99a0e23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0x648951ae
jmp 0x1000a88c
mov eax, dword [ebp - 0x30]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0xe9d65a77
jmp 0x1000a88c
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10032c7d
call fcn.10028550
add esp, 8
mov edx, eax
mov eax, 0x12534f47
mov ecx, 0xd54627b1
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
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 - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x15e0402e
add ecx, eax
sub ecx, 0x15e0402e
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10024d50
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x94], 0x3f3cdfba
jmp 0x1000a88c
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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 al
and al, 1
mov byte [ebp - 0x1f], al
mov dword [ebp - 0x94], 0x11cc45c7
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
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, 0x65d14c50
mov ecx, 0x7aecd33b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x1f]
mov byte [eax], cl
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
mov edx, eax
sub edx, 0x3668d78a
sub edx, 1
add edx, 0x3668d78a
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, 0x65d14c50
mov ecx, 0xb40a128a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov dword [ebp - 0x94], 0xd54627b1
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x87ce19a
jmp 0x1000a88c
mov eax, dword [ebp - 0x68]
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 - 0x1e], ax
mov dword [ebp - 0x94], 0xf71e8235
jmp 0x1000a88c
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0x94], 0xf31338ae
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x225d29d9
jmp 0x1000a88c
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 - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x94], 0xd26244ba
jmp 0x1000a88c
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x5fd503db
jmp 0x1000a88c
mov dword [ebp - 0x94], 0xf5fbfa6f
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
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, 0x52a94911
mov ecx, 0x149d57c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov eax, dword [0x10085744]
mov ecx, dword [0x10085740]
mov edx, eax
sub edx, 0x6f2f6155
sub edx, 1
add edx, 0x6f2f6155
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, 0x52a94911
mov ecx, 0x817ca36d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a88c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10023e50
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0xdef414b
jmp 0x1000a88c
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0x76ab27bd
jmp 0x1000a88c
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x3e65f23e
add ecx, eax
add ecx, 0x3e65f23e
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x3ca1f6a0
jmp 0x1000a88c
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x94], 0x6a660265
jmp 0x1000a88c
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x1f]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x7aecd33b
jmp 0x1000a88c
mov dword [ebp - 0x94], 0x149d57c2
jmp 0x100098e8