Function at 0x10008fd0
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 [0x10086280]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
sub edx, 0xbdea2fbc
sub edx, 1
add edx, 0xbdea2fbc
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x94], 0x577ceee1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x81fb09bb
je 0x100095f1
jmp 0x10009053
mov eax, dword [ebp - 0x9c]
sub eax, 0x823dc3af
je 0x10009e77
jmp 0x10009069
mov eax, dword [ebp - 0x9c]
sub eax, 0x826932d0
je 0x1000a3ab
jmp 0x1000907f
mov eax, dword [ebp - 0x9c]
sub eax, 0x861a74ed
je 0x10009fdf
jmp 0x10009095
mov eax, dword [ebp - 0x9c]
sub eax, 0x8983b417
je 0x1000a179
jmp 0x100090ab
mov eax, dword [ebp - 0x9c]
sub eax, 0x89b3684c
je 0x1000a27c
jmp 0x100090c1
mov eax, dword [ebp - 0x9c]
sub eax, 0x90d19618
je 0x10009f55
jmp 0x100090d7
mov eax, dword [ebp - 0x9c]
sub eax, 0x9de49aac
je 0x1000a43d
jmp 0x100090ed
mov eax, dword [ebp - 0x9c]
sub eax, 0xa0e4c45f
je 0x1000a461
jmp 0x10009103
mov eax, dword [ebp - 0x9c]
sub eax, 0xa64fb439
je 0x10009846
jmp 0x10009119
mov eax, dword [ebp - 0x9c]
sub eax, 0xab6190b9
je 0x10009b78
jmp 0x1000912f
mov eax, dword [ebp - 0x9c]
sub eax, 0xacde9d12
je 0x1000a3da
jmp 0x10009145
mov eax, dword [ebp - 0x9c]
sub eax, 0xb098ee7e
je 0x10009d5a
jmp 0x1000915b
mov eax, dword [ebp - 0x9c]
sub eax, 0xb39dc055
je 0x1000994f
jmp 0x10009171
mov eax, dword [ebp - 0x9c]
sub eax, 0xb6358f6c
je 0x10009a2c
jmp 0x10009187
mov eax, dword [ebp - 0x9c]
sub eax, 0xb6eddd7c
je 0x100097ef
jmp 0x1000919d
mov eax, dword [ebp - 0x9c]
sub eax, 0xc4da3bf3
je 0x1000a29a
jmp 0x100091b3
mov eax, dword [ebp - 0x9c]
sub eax, 0xc893d9c5
je 0x10009c30
jmp 0x100091c9
mov eax, dword [ebp - 0x9c]
sub eax, 0xc9dc2677
je 0x100098f6
jmp 0x100091df
mov eax, dword [ebp - 0x9c]
sub eax, 0xcab30b35
je 0x10009c3f
jmp 0x100091f5
mov eax, dword [ebp - 0x9c]
sub eax, 0xcb3c4d4a
je 0x1000a160
jmp 0x1000920b
mov eax, dword [ebp - 0x9c]
sub eax, 0xcbfa76bc
je 0x10009ec8
jmp 0x10009221
mov eax, dword [ebp - 0x9c]
sub eax, 0xcc512f5a
je 0x1000a0bd
jmp 0x10009237
mov eax, dword [ebp - 0x9c]
sub eax, 0xd2f0f4e7
je 0x10009d4b
jmp 0x1000924d
mov eax, dword [ebp - 0x9c]
sub eax, 0xd4d403e6
je 0x100096d8
jmp 0x10009263
mov eax, dword [ebp - 0x9c]
sub eax, 0xdcc12712
je 0x10009c5e
jmp 0x10009279
mov eax, dword [ebp - 0x9c]
sub eax, 0xde6a7e7e
je 0x100097fe
jmp 0x1000928f
mov eax, dword [ebp - 0x9c]
sub eax, 0xe2bfb2b3
je 0x1000a140
jmp 0x100092a5
mov eax, dword [ebp - 0x9c]
sub eax, 0xe3b68a47
je 0x10009cd4
jmp 0x100092bb
mov eax, dword [ebp - 0x9c]
sub eax, 0xe6a41e71
je 0x1000987d
jmp 0x100092d1
mov eax, dword [ebp - 0x9c]
sub eax, 0xec7dbe4a
je 0x10009e54
jmp 0x100092e7
mov eax, dword [ebp - 0x9c]
sub eax, 0xf1ff9305
je 0x1000a1ef
jmp 0x100092fd
mov eax, dword [ebp - 0x9c]
sub eax, 0xf4dbaa2d
je 0x10009e45
jmp 0x10009313
mov eax, dword [ebp - 0x9c]
sub eax, 0xf69ea3ed
je 0x1000a26d
jmp 0x10009329
mov eax, dword [ebp - 0x9c]
sub eax, 0xf6b7aa13
je 0x10009aa2
jmp 0x1000933f
mov eax, dword [ebp - 0x9c]
sub eax, 0xff678342
je 0x10009d7d
jmp 0x10009355
mov eax, dword [ebp - 0x9c]
sub eax, 0x5697244
je 0x100097d1
jmp 0x1000936b
mov eax, dword [ebp - 0x9c]
sub eax, 0xb0b39cc
je 0x1000a044
jmp 0x10009381
mov eax, dword [ebp - 0x9c]
sub eax, 0xb603682
je 0x1000a509
jmp 0x10009397
mov eax, dword [ebp - 0x9c]
sub eax, 0xc8e61cd
je 0x100099ff
jmp 0x100093ad
mov eax, dword [ebp - 0x9c]
sub eax, 0x11ad248b
je 0x10009af3
jmp 0x100093c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x11b8ee41
je 0x1000a3cb
jmp 0x100093d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x1631cb9e
je 0x1000a4ad
jmp 0x100093ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x1b81b32d
je 0x100099a0
jmp 0x10009405
mov eax, dword [ebp - 0x9c]
sub eax, 0x1ff4e364
je 0x1000a3ba
jmp 0x1000941b
mov eax, dword [ebp - 0x9c]
sub eax, 0x271927d4
je 0x1000a4f7
jmp 0x10009431
mov eax, dword [ebp - 0x9c]
sub eax, 0x3bfaecc4
je 0x10009b02
jmp 0x10009447
mov eax, dword [ebp - 0x9c]
sub eax, 0x3fa6c318
je 0x1000a44f
jmp 0x1000945d
mov eax, dword [ebp - 0x9c]
sub eax, 0x40813b1f
je 0x10009a0e
jmp 0x10009473
mov eax, dword [ebp - 0x9c]
sub eax, 0x4271afc5
je 0x10009721
jmp 0x10009489
mov eax, dword [ebp - 0x9c]
sub eax, 0x45b939e7
je 0x1000a4e5
jmp 0x1000949f
mov eax, dword [ebp - 0x9c]
sub eax, 0x48c082e1
je 0x10009b20
jmp 0x100094b5
mov eax, dword [ebp - 0x9c]
sub eax, 0x4a8dc3ea
je 0x10009f6a
jmp 0x100094cb
mov eax, dword [ebp - 0x9c]
sub eax, 0x4d6d153c
je 0x100098e7
jmp 0x100094e1
mov eax, dword [ebp - 0x9c]
sub eax, 0x54cbf3f5
je 0x10009deb
jmp 0x100094f7
mov eax, dword [ebp - 0x9c]
sub eax, 0x577ceee1
je 0x100095c2
jmp 0x1000950d
mov eax, dword [ebp - 0x9c]
sub eax, 0x6a9ce3bf
je 0x1000a51b
jmp 0x10009523
mov eax, dword [ebp - 0x9c]
sub eax, 0x6b46c5f0
je 0x1000a310
jmp 0x10009539
mov eax, dword [ebp - 0x9c]
sub eax, 0x72dd07cd
je 0x10009676
jmp 0x1000954f
mov eax, dword [ebp - 0x9c]
sub eax, 0x73fde482
je 0x10009b2f
jmp 0x10009565
mov eax, dword [ebp - 0x9c]
sub eax, 0x7722e0e7
je 0x1000a118
jmp 0x1000957b
mov eax, dword [ebp - 0x9c]
sub eax, 0x7a616c90
je 0x10009685
jmp 0x10009591
mov eax, dword [ebp - 0x9c]
sub eax, 0x7c5432af
je 0x10009f46
jmp 0x100095a7
mov eax, dword [ebp - 0x9c]
sub eax, 0x7fe54bcb
je 0x1000a127
jmp 0x100095bd
jmp 0x1000a54a
mov al, byte [ebp - 0x8e]
mov cl, byte [ebp - 0x8d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x11b8ee41
mov ecx, 0x81fb09bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0xc
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
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x78], eax
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
add edx, 0x4fa8acf8
sub edx, 1
sub edx, 0x4fa8acf8
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, 0x11b8ee41
mov ecx, 0x72dd07cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x7a616c90
jmp 0x1000a54a
mov ecx, dword [ebp - 0x98]
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
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
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0xd4d403e6
jmp 0x1000a54a
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
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, 0xacde9d12
mov ecx, 0x4271afc5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10026bd0
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
sub edx, 0xde0ff58c
sub edx, 1
add edx, 0xde0ff58c
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, 0xacde9d12
mov ecx, 0x5697244
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dl, byte [ebp - 0x4d]
mov eax, 0xb6eddd7c
mov ecx, 0xde6a7e7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x1ff4e364
jmp 0x1000a54a
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
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 - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0xa64fb439
jmp 0x1000a54a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 dword [ebp - 0x94], 0xe6a41e71
jmp 0x1000a54a
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov edx, dword [ebp - 0x74]
mov esi, 0xffffffff
mov eax, 0xc9dc2677
mov ecx, 0x4d6d153c
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x1ff4e364
jmp 0x1000a54a
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0xb39dc055
jmp 0x1000a54a
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
sub edx, 0xa1cded60
sub edx, 1
add edx, 0xa1cded60
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, 0x9de49aac
mov ecx, 0x1b81b32d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x48]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
add edx, 0xd3f64515
sub edx, 1
sub edx, 0xd3f64515
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, 0x9de49aac
mov ecx, 0xc8e61cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x40813b1f
jmp 0x1000a54a
mov dl, byte [ebp - 0x41]
mov eax, 0xb6358f6c
mov ecx, 0x73fde482
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
add edx, 0xb48a7f6f
sub edx, 1
sub edx, 0xb48a7f6f
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, 0x3fa6c318
mov ecx, 0xf6b7aa13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
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, 0x3fa6c318
mov ecx, 0x11ad248b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x3bfaecc4
jmp 0x1000a54a
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x48c082e1
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x1ff4e364
jmp 0x1000a54a
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
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, 0xa0e4c45f
mov ecx, 0xab6190b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
add edx, 0xdbcc1478
sub edx, 1
sub edx, 0xdbcc1478
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, 0xa0e4c45f
mov ecx, 0xc893d9c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0xcab30b35
jmp 0x1000a54a
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0xdcc12712
jmp 0x1000a54a
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
sub edx, 0xa2adf165
sub edx, 1
add edx, 0xa2adf165
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, 0x1631cb9e
mov ecx, 0xe3b68a47
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x38]
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 - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
sub edx, 0x3278103b
sub edx, 1
add edx, 0x3278103b
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, 0x1631cb9e
mov ecx, 0xd2f0f4e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0xb098ee7e
jmp 0x1000a54a
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0xff678342
jmp 0x1000a54a
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
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, 0x45b939e7
mov ecx, 0x54cbf3f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
sub edx, 0xff76921c
sub edx, 1
add edx, 0xff76921c
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, 0x45b939e7
mov ecx, 0xf4dbaa2d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0xec7dbe4a
jmp 0x1000a54a
mov eax, dword [ebp - 0x2c]
movzx esi, word [eax]
mov edx, dword [ebp - 0x34]
mov eax, 0x8983b417
mov ecx, 0x823dc3af
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [0x10087784]
mov ecx, dword [0x10087780]
mov edx, eax
add edx, 0x17d7ba75
sub edx, 1
sub edx, 0x17d7ba75
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, 0x271927d4
mov ecx, 0xcbfa76bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
sub edx, 0x89ed49f8
sub edx, 1
add edx, 0x89ed49f8
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, 0x271927d4
mov ecx, 0x7c5432af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x90d19618
jmp 0x1000a54a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x94], 0x4a8dc3ea
jmp 0x1000a54a
mov ecx, dword [ebp - 0x24]
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 - 0x64]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10034a30
call fcn.1002a530
add esp, 8
mov edx, eax
mov eax, 0x861a74ed
mov ecx, 0x7722e0e7
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x8da4e754
add edx, eax
add edx, 0x8da4e754
mov eax, dword [ebp - 0x58]
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 al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x94], 0xb0b39cc
jmp 0x1000a54a
mov cl, byte [ebp - 0x1d]
and cl, 1
mov eax, dword [ebp - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x5c]
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.10026d30
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x94], 0xcc512f5a
jmp 0x1000a54a
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x1c]
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 - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x7722e0e7
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x7fe54bcb
jmp 0x1000a54a
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0x94], 0xe2bfb2b3
jmp 0x1000a54a
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0x94], 0xcb3c4d4a
jmp 0x1000a54a
mov eax, dword [ebp - 0x60]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x94], 0xb098ee7e
jmp 0x1000a54a
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
sub edx, 0x7e322fd4
sub edx, 1
add edx, 0x7e322fd4
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, 0xb603682
mov ecx, 0xf1ff9305
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
add edx, 0x369c4a26
sub edx, 1
sub edx, 0x369c4a26
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, 0xb603682
mov ecx, 0xf69ea3ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x89b3684c
jmp 0x1000a54a
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xc4da3bf3
jmp 0x1000a54a
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
sub edx, 0x509ab728
sub edx, 1
add edx, 0x509ab728
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, 0x6a9ce3bf
mov ecx, 0x6b46c5f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
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 - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10087784]
mov eax, dword [0x10087780]
mov edx, ecx
add edx, 0xdb008910
sub edx, 1
sub edx, 0xdb008910
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, 0x6a9ce3bf
mov ecx, 0x826932d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000a54a
mov dword [ebp - 0x94], 0x1ff4e364
jmp 0x1000a54a
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10025e30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0x81fb09bb
jmp 0x1000a54a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10026bd0
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], 0x4271afc5
jmp 0x1000a54a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x94], 0x1b81b32d
jmp 0x1000a54a
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xf6b7aa13
jmp 0x1000a54a
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0xab6190b9
jmp 0x1000a54a
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
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 - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0xe3b68a47
jmp 0x1000a54a
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x94], 0x54cbf3f5
jmp 0x1000a54a
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0xcbfa76bc
jmp 0x1000a54a
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xf1ff9305
jmp 0x1000a54a
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 - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x6b46c5f0
jmp 0x10009037