Function at 0x1000bec0
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 [0x100a5c80]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
sub edx, 0x976ec1d7
sub edx, 1
add edx, 0x976ec1d7
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], 0x77463d70
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x838de060
je 0x1000caa2
jmp 0x1000bf43
mov eax, dword [ebp - 0x98]
sub eax, 0x84823943
je 0x1000d92b
jmp 0x1000bf59
mov eax, dword [ebp - 0x98]
sub eax, 0x85bdc759
je 0x1000d945
jmp 0x1000bf6f
mov eax, dword [ebp - 0x98]
sub eax, 0x8821585c
je 0x1000d09c
jmp 0x1000bf85
mov eax, dword [ebp - 0x98]
sub eax, 0x911ca7c7
je 0x1000d4fd
jmp 0x1000bf9b
mov eax, dword [ebp - 0x98]
sub eax, 0x9ec9f46e
je 0x1000d622
jmp 0x1000bfb1
mov eax, dword [ebp - 0x98]
sub eax, 0xa41b7df9
je 0x1000d534
jmp 0x1000bfc7
mov eax, dword [ebp - 0x98]
sub eax, 0xa54eb660
je 0x1000c91e
jmp 0x1000bfdd
mov eax, dword [ebp - 0x98]
sub eax, 0xa59a2136
je 0x1000d49e
jmp 0x1000bff3
mov eax, dword [ebp - 0x98]
sub eax, 0xab5d5d96
je 0x1000cce8
jmp 0x1000c009
mov eax, dword [ebp - 0x98]
sub eax, 0xabd9fbf5
je 0x1000d525
jmp 0x1000c01f
mov eax, dword [ebp - 0x98]
sub eax, 0xaee6e944
je 0x1000d000
jmp 0x1000c035
mov eax, dword [ebp - 0x98]
sub eax, 0xb10b4a64
je 0x1000cac0
jmp 0x1000c04b
mov eax, dword [ebp - 0x98]
sub eax, 0xb5da125a
je 0x1000d2a9
jmp 0x1000c061
mov eax, dword [ebp - 0x98]
sub eax, 0xbacd45d8
je 0x1000c7ed
jmp 0x1000c077
mov eax, dword [ebp - 0x98]
sub eax, 0xbc6bcb79
je 0x1000cbee
jmp 0x1000c08d
mov eax, dword [ebp - 0x98]
sub eax, 0xbeb8d89a
je 0x1000d7a3
jmp 0x1000c0a3
mov eax, dword [ebp - 0x98]
sub eax, 0xc2b72615
je 0x1000c92d
jmp 0x1000c0b9
mov eax, dword [ebp - 0x98]
sub eax, 0xc3bfa42c
je 0x1000d957
jmp 0x1000c0cf
mov eax, dword [ebp - 0x98]
sub eax, 0xc58ef497
je 0x1000ca51
jmp 0x1000c0e5
mov eax, dword [ebp - 0x98]
sub eax, 0xc7b8ee3e
je 0x1000d365
jmp 0x1000c0fb
mov eax, dword [ebp - 0x98]
sub eax, 0xc7cdf47c
je 0x1000d446
jmp 0x1000c111
mov eax, dword [ebp - 0x98]
sub eax, 0xca81a906
je 0x1000ca00
jmp 0x1000c127
mov eax, dword [ebp - 0x98]
sub eax, 0xd15e0846
je 0x1000d585
jmp 0x1000c13d
mov eax, dword [ebp - 0x98]
sub eax, 0xd6757dc9
je 0x1000cca4
jmp 0x1000c153
mov eax, dword [ebp - 0x98]
sub eax, 0xd77ac0ac
je 0x1000ce7c
jmp 0x1000c169
mov eax, dword [ebp - 0x98]
sub eax, 0xd7dc9fa4
je 0x1000cdee
jmp 0x1000c17f
mov eax, dword [ebp - 0x98]
sub eax, 0xd8b9576d
je 0x1000d437
jmp 0x1000c195
mov eax, dword [ebp - 0x98]
sub eax, 0xd9fb5f3d
je 0x1000cf90
jmp 0x1000c1ab
mov eax, dword [ebp - 0x98]
sub eax, 0xdbcadf13
je 0x1000cd06
jmp 0x1000c1c1
mov eax, dword [ebp - 0x98]
sub eax, 0xdbe88326
je 0x1000cfd1
jmp 0x1000c1d7
mov eax, dword [ebp - 0x98]
sub eax, 0xe65a8597
je 0x1000d997
jmp 0x1000c1ed
mov eax, dword [ebp - 0x98]
sub eax, 0xe8c19927
je 0x1000ceea
jmp 0x1000c203
mov eax, dword [ebp - 0x98]
sub eax, 0xe96522d7
je 0x1000d136
jmp 0x1000c219
mov eax, dword [ebp - 0x98]
sub eax, 0xec58354f
je 0x1000d724
jmp 0x1000c22f
mov eax, dword [ebp - 0x98]
sub eax, 0xecd24c28
je 0x1000c7de
jmp 0x1000c245
mov eax, dword [ebp - 0x98]
sub eax, 0xf2dc7c99
je 0x1000c62b
jmp 0x1000c25b
mov eax, dword [ebp - 0x98]
sub eax, 0x12ea8e5
je 0x1000cb69
jmp 0x1000c271
mov eax, dword [ebp - 0x98]
sub eax, 0xc035485
je 0x1000c74a
jmp 0x1000c287
mov eax, dword [ebp - 0x98]
sub eax, 0x121f6642
je 0x1000d7ee
jmp 0x1000c29d
mov eax, dword [ebp - 0x98]
sub eax, 0x141de5a1
je 0x1000d7d0
jmp 0x1000c2b3
mov eax, dword [ebp - 0x98]
sub eax, 0x14bd5978
je 0x1000cd78
jmp 0x1000c2c9
mov eax, dword [ebp - 0x98]
sub eax, 0x174f65e6
je 0x1000d7df
jmp 0x1000c2df
mov eax, dword [ebp - 0x98]
sub eax, 0x20089054
je 0x1000c867
jmp 0x1000c2f5
mov eax, dword [ebp - 0x98]
sub eax, 0x2370dfbe
je 0x1000ce6d
jmp 0x1000c30b
mov eax, dword [ebp - 0x98]
sub eax, 0x23b8b8ab
je 0x1000d8bd
jmp 0x1000c321
mov eax, dword [ebp - 0x98]
sub eax, 0x24d7b6d4
je 0x1000cfb3
jmp 0x1000c337
mov eax, dword [ebp - 0x98]
sub eax, 0x268f83c2
je 0x1000d792
jmp 0x1000c34d
mov eax, dword [ebp - 0x98]
sub eax, 0x295a599b
je 0x1000ccd1
jmp 0x1000c363
mov eax, dword [ebp - 0x98]
sub eax, 0x2cfb8ab0
je 0x1000d2b8
jmp 0x1000c379
mov eax, dword [ebp - 0x98]
sub eax, 0x2d51936f
je 0x1000d154
jmp 0x1000c38f
mov eax, dword [ebp - 0x98]
sub eax, 0x2d612ca5
je 0x1000d04b
jmp 0x1000c3a5
mov eax, dword [ebp - 0x98]
sub eax, 0x2e790d37
je 0x1000d83d
jmp 0x1000c3bb
mov eax, dword [ebp - 0x98]
sub eax, 0x2f619384
je 0x1000cf6b
jmp 0x1000c3d1
mov eax, dword [ebp - 0x98]
sub eax, 0x35d9375a
je 0x1000d5f0
jmp 0x1000c3e7
mov eax, dword [ebp - 0x98]
sub eax, 0x38004dc8
je 0x1000d895
jmp 0x1000c3fd
mov eax, dword [ebp - 0x98]
sub eax, 0x3c2eef8b
je 0x1000d50c
jmp 0x1000c413
mov eax, dword [ebp - 0x98]
sub eax, 0x3e2d3a33
je 0x1000cb5a
jmp 0x1000c429
mov eax, dword [ebp - 0x98]
sub eax, 0x3ecf08bf
je 0x1000cd15
jmp 0x1000c43f
mov eax, dword [ebp - 0x98]
sub eax, 0x56997781
je 0x1000d6d3
jmp 0x1000c455
mov eax, dword [ebp - 0x98]
sub eax, 0x58bbc912
je 0x1000cb80
jmp 0x1000c46b
mov eax, dword [ebp - 0x98]
sub eax, 0x5a89b293
je 0x1000d84f
jmp 0x1000c481
mov eax, dword [ebp - 0x98]
sub eax, 0x5ad01328
je 0x1000d455
jmp 0x1000c497
mov eax, dword [ebp - 0x98]
sub eax, 0x5b46c54e
je 0x1000d3b6
jmp 0x1000c4ad
mov eax, dword [ebp - 0x98]
sub eax, 0x5fa3e5d8
je 0x1000d7c1
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
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 [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0x8e884ccf
sub edx, 1
sub edx, 0x8e884ccf
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, 0xbeb8d89a
mov ecx, 0x799bfff4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
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 ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
add edx, 0x14aada13
sub edx, 1
sub edx, 0x14aada13
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, 0x6f568207
mov ecx, 0xecd24c28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0xbacd45d8
jmp 0x1000d9a1
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.10027ff0
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 edx, dword [ebp - 0x7c]
mov eax, 0x20089054
mov ecx, 0xc2b72615
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
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, 0x5fa3e5d8
mov ecx, 0x62d5564a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x56997781
jmp 0x1000d9a1
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 - 0x4c], eax
mov dword [ebp - 0x90], 0x769e30eb
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0x2c1fc2b3
sub edx, 1
sub edx, 0x2c1fc2b3
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, 0x141de5a1
mov ecx, 0xc58ef497
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
sub edx, 0x7b59e7a4
sub edx, 1
add edx, 0x7b59e7a4
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, 0x141de5a1
mov ecx, 0x838de060
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dl, byte [ebp - 0x45]
mov eax, 0x12ea8e5
mov ecx, 0xb10b4a64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0x110faef5
sub edx, 1
sub edx, 0x110faef5
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, 0x174f65e6
mov ecx, 0x6ed05548
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x56997781
jmp 0x1000d9a1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x90], 0x58bbc912
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
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, 0x121f6642
mov ecx, 0xbc6bcb79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x44]
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 ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
add edx, 0x42fde466
sub edx, 1
sub edx, 0x42fde466
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, 0x121f6642
mov ecx, 0xd6757dc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x799be2c2
jmp 0x1000d9a1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x90], 0xab5d5d96
jmp 0x1000d9a1
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xdbcadf13
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x56997781
jmp 0x1000d9a1
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 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 - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x90], 0x14bd5978
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
sub edx, 0x87fb0bdc
sub edx, 1
add edx, 0x87fb0bdc
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, 0x2e790d37
mov ecx, 0xd7dc9fa4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
sub edx, 0x21696ba1
sub edx, 1
add edx, 0x21696ba1
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, 0x2e790d37
mov ecx, 0x2370dfbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0xd77ac0ac
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
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, 0x5a89b293
mov ecx, 0xe8c19927
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
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 - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0xd5feb347
sub edx, 1
sub edx, 0xd5feb347
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, 0x5a89b293
mov ecx, 0x73d8e535
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x90], 0xd9fb5f3d
jmp 0x1000d9a1
mov ax, word [ebp - 0x2c]
movzx ecx, ax
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x90], 0x24d7b6d4
jmp 0x1000d9a1
mov dl, byte [ebp - 0x29]
mov eax, 0xa41b7df9
mov ecx, 0xdbe88326
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
sub eax, 0x7f1ec6b3
add eax, 0x18
add eax, 0x7f1ec6b3
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x90], 0xaee6e944
jmp 0x1000d9a1
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + 0x10]
mov ecx, dword [ebp - 0x28]
add ecx, 0xbd047eca
add ecx, eax
sub ecx, 0xbd047eca
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 eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x90], 0x2d612ca5
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0x1e68acf1
sub edx, 1
sub edx, 0x1e68acf1
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, 0x38004dc8
mov ecx, 0x8821585c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10035c60
call fcn.1002b950
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x19], al
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
add edx, 0xd0b16b65
sub edx, 1
sub edx, 0xd0b16b65
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, 0x38004dc8
mov ecx, 0xe96522d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dl, byte [ebp - 0x19]
mov eax, 0x2d51936f
mov ecx, 0xc7cdf47c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
add edx, 0xbc4c7c5
sub edx, 1
sub edx, 0xbc4c7c5
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, 0x23b8b8ab
mov ecx, 0x74e46736
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x2cfb8ab0
jmp 0x1000d9a1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x18]
sub edx, 0x40e3ba13
add edx, eax
add edx, 0x40e3ba13
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x6d92b021
add ecx, eax
add ecx, 0x6d92b021
mov eax, dword [ebp - 0x58]
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.10028150
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, 0xb68bb7cb
add esi, eax
sub esi, 0xb68bb7cb
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 al
and al, 1
mov byte [ebp - 0xf], al
mov dword [ebp - 0x90], 0xc7b8ee3e
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
sub edx, 0x4df9a6f5
sub edx, 1
add edx, 0x4df9a6f5
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, 0x84823943
mov ecx, 0x5b46c54e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov cl, byte [ebp - 0xf]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
mov edx, ecx
sub edx, 0xe28cdb6d
sub edx, 1
add edx, 0xe28cdb6d
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, 0x84823943
mov ecx, 0xd8b9576d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0xc7cdf47c
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x5ad01328
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
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, 0x85bdc759
mov ecx, 0xa59a2136
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
sub ax, 0xaacd
add ax, 1
add ax, 0xaacd
mov word [ebp - 0xe], ax
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
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, 0x85bdc759
mov ecx, 0x911ca7c7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x3c2eef8b
jmp 0x1000d9a1
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0xe]
mov word [eax], cx
mov dword [ebp - 0x90], 0xabd9fbf5
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x2f619384
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0x520e8974
sub edx, 1
sub edx, 0x520e8974
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, 0xc3bfa42c
mov ecx, 0xd15e0846
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
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 [0x100a715c]
mov ecx, dword [0x100a7158]
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, 0xc3bfa42c
mov ecx, 0x35d9375a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x7e31bf39
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
add edx, 0xe778df95
sub edx, 1
sub edx, 0xe778df95
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, 0x68b8c70d
mov ecx, 0x67802108
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov eax, dword [0x100a715c]
mov ecx, dword [0x100a7158]
mov edx, eax
sub edx, 0xd5d8f2fa
sub edx, 1
add edx, 0xd5d8f2fa
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, 0xe65a8597
mov ecx, 0xec58354f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [0x100a715c]
mov eax, dword [0x100a7158]
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, 0xe65a8597
mov ecx, 0x268f83c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x1000d9a1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10027250
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0xf2dc7c99
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0xc58ef497
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0x6ed05548
jmp 0x1000d9a1
mov eax, dword [ebp - 0x44]
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], 0xbc6bcb79
jmp 0x1000d9a1
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x90], 0xd7dc9fa4
jmp 0x1000d9a1
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
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 dword [ebp - 0x90], 0xe8c19927
jmp 0x1000d9a1
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10035c60
call fcn.1002b950
add esp, 8
mov dword [ebp - 0x90], 0x8821585c
jmp 0x1000d9a1
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
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 - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], 0x74e46736
jmp 0x1000d9a1
mov cl, byte [ebp - 0xf]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x90], 0x5b46c54e
jmp 0x1000d9a1
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x90], 0xa59a2136
jmp 0x1000d9a1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xd15e0846
jmp 0x1000d9a1
mov dword [ebp - 0x90], 0xec58354f
jmp 0x1000bf27