Function at 0x100010b0
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 [0x10068604]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
mov edx, ecx
sub edx, 0xdbca09fb
sub edx, 1
add edx, 0xdbca09fb
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], 0x4dc7bd2a
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x80655065
je 0x10001f9e
jmp 0x10001133
mov eax, dword [ebp - 0x98]
sub eax, 0x81b234a0
je 0x10001c8e
jmp 0x10001149
mov eax, dword [ebp - 0x98]
sub eax, 0x8602a3b8
je 0x100021e5
jmp 0x1000115f
mov eax, dword [ebp - 0x98]
sub eax, 0x8be6aae3
je 0x10001efe
jmp 0x10001175
mov eax, dword [ebp - 0x98]
sub eax, 0x9e4b3cba
je 0x100020dc
jmp 0x1000118b
mov eax, dword [ebp - 0x98]
sub eax, 0xa1c64d8b
je 0x10002384
jmp 0x100011a1
mov eax, dword [ebp - 0x98]
sub eax, 0xad13038a
je 0x10002311
jmp 0x100011b7
mov eax, dword [ebp - 0x98]
sub eax, 0xb6d984d8
je 0x1000201b
jmp 0x100011cd
mov eax, dword [ebp - 0x98]
sub eax, 0xbae3de15
je 0x10001672
jmp 0x100011e3
mov eax, dword [ebp - 0x98]
sub eax, 0xbbb1f7c4
je 0x100016fb
jmp 0x100011f9
mov eax, dword [ebp - 0x98]
sub eax, 0xbdc2b0cf
je 0x10001835
jmp 0x1000120f
mov eax, dword [ebp - 0x98]
sub eax, 0xcd4ffc9d
je 0x10002393
jmp 0x10001225
mov eax, dword [ebp - 0x98]
sub eax, 0xcfb86fb3
je 0x10001fad
jmp 0x1000123b
mov eax, dword [ebp - 0x98]
sub eax, 0xcfc1302c
je 0x100021f4
jmp 0x10001251
mov eax, dword [ebp - 0x98]
sub eax, 0xd0580fa3
je 0x100022f3
jmp 0x10001267
mov eax, dword [ebp - 0x98]
sub eax, 0xd087c1e8
je 0x10001bd9
jmp 0x1000127d
mov eax, dword [ebp - 0x98]
sub eax, 0xd7266531
je 0x10001a75
jmp 0x10001293
mov eax, dword [ebp - 0x98]
sub eax, 0xd8ad2b87
je 0x10001ac1
jmp 0x100012a9
mov eax, dword [ebp - 0x98]
sub eax, 0xe12fddf8
je 0x10001b6a
jmp 0x100012bf
mov eax, dword [ebp - 0x98]
sub eax, 0xe1c762e2
je 0x100022e4
jmp 0x100012d5
mov eax, dword [ebp - 0x98]
sub eax, 0xe4ff2f6b
je 0x100016ec
jmp 0x100012eb
mov eax, dword [ebp - 0x98]
sub eax, 0xe7993f55
je 0x10001e6a
jmp 0x10001301
mov eax, dword [ebp - 0x98]
sub eax, 0xed6b5593
je 0x10001b88
jmp 0x10001317
mov eax, dword [ebp - 0x98]
sub eax, 0xed6c4da9
je 0x10001a8c
jmp 0x1000132d
mov eax, dword [ebp - 0x98]
sub eax, 0xf08b4900
je 0x10001c4d
jmp 0x10001343
mov eax, dword [ebp - 0x98]
sub eax, 0xf5609192
je 0x10001977
jmp 0x10001359
mov eax, dword [ebp - 0x98]
sub eax, 0xf8fba8b9
je 0x10001d77
jmp 0x1000136f
mov eax, dword [ebp - 0x98]
sub eax, 0xf9a83a47
je 0x10001eb5
jmp 0x10001385
mov eax, dword [ebp - 0x98]
sub eax, 0xfc103ac7
je 0x100020b9
jmp 0x1000139b
mov eax, dword [ebp - 0x98]
sub eax, 0xfdcde209
je 0x10001798
jmp 0x100013b1
mov eax, dword [ebp - 0x98]
sub eax, 0xff815917
je 0x100017be
jmp 0x100013c7
mov eax, dword [ebp - 0x98]
sub eax, 0x152c550
je 0x100019c8
jmp 0x100013dd
mov eax, dword [ebp - 0x98]
sub eax, 0x1940225
je 0x10001db4
jmp 0x100013f3
mov eax, dword [ebp - 0x98]
sub eax, 0x21ef678
je 0x10001bf8
jmp 0x10001409
mov eax, dword [ebp - 0x98]
sub eax, 0xa96407d
je 0x100020f5
jmp 0x1000141f
mov eax, dword [ebp - 0x98]
sub eax, 0xb9b6c91
je 0x10001a19
jmp 0x10001435
mov eax, dword [ebp - 0x98]
sub eax, 0x1b3568ef
je 0x100020a0
jmp 0x1000144b
mov eax, dword [ebp - 0x98]
sub eax, 0x20b2571f
je 0x10002326
jmp 0x10001461
mov eax, dword [ebp - 0x98]
sub eax, 0x26e3dd6a
je 0x10002115
jmp 0x10001477
mov eax, dword [ebp - 0x98]
sub eax, 0x2c583b1a
je 0x10002228
jmp 0x1000148d
mov eax, dword [ebp - 0x98]
sub eax, 0x2ffa4b51
je 0x10001955
jmp 0x100014a3
mov eax, dword [ebp - 0x98]
sub eax, 0x339bbabb
je 0x10001b0a
jmp 0x100014b9
mov eax, dword [ebp - 0x98]
sub eax, 0x3557e0c0
je 0x10002091
jmp 0x100014cf
mov eax, dword [ebp - 0x98]
sub eax, 0x37b22ef4
je 0x1000215e
jmp 0x100014e5
mov eax, dword [ebp - 0x98]
sub eax, 0x3db3e99d
je 0x10001a28
jmp 0x100014fb
mov eax, dword [ebp - 0x98]
sub eax, 0x41f327ea
je 0x10001aaa
jmp 0x10001511
mov eax, dword [ebp - 0x98]
sub eax, 0x4dc7bd2a
je 0x1000161e
jmp 0x10001527
mov eax, dword [ebp - 0x98]
sub eax, 0x4f8cd3d8
je 0x10001cdf
jmp 0x1000153d
mov eax, dword [ebp - 0x98]
sub eax, 0x542da799
je 0x10001d68
jmp 0x10001553
mov eax, dword [ebp - 0x98]
sub eax, 0x579567a9
je 0x10001df4
jmp 0x10001569
mov eax, dword [ebp - 0x98]
sub eax, 0x595e4588
je 0x10001b79
jmp 0x1000157f
mov eax, dword [ebp - 0x98]
sub eax, 0x6025493a
je 0x10001c70
jmp 0x10001595
mov eax, dword [ebp - 0x98]
sub eax, 0x64fadd56
je 0x100017e4
jmp 0x100015ab
mov eax, dword [ebp - 0x98]
sub eax, 0x65ea11f5
je 0x10001c2d
jmp 0x100015c1
mov eax, dword [ebp - 0x98]
sub eax, 0x6a59921c
je 0x10001946
jmp 0x100015d7
mov eax, dword [ebp - 0x98]
sub eax, 0x7013e9c1
je 0x10002237
jmp 0x100015ed
mov eax, dword [ebp - 0x98]
sub eax, 0x73674305
je 0x100017cd
jmp 0x10001603
mov eax, dword [ebp - 0x98]
sub eax, 0x75636756
je 0x10002217
jmp 0x10001619
jmp 0x100023ae
mov bl, byte [ebp - 0x8a]
mov dh, byte [ebp - 0x89]
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, 0x2c583b1a
mov ecx, 0xbae3de15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
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
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
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, 0x2c583b1a
mov ecx, 0xe4ff2f6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0xbbb1f7c4
jmp 0x100023ae
mov ecx, dword [ebp - 0x94]
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
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.10008260
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 dword [ebp - 0x4c], eax
mov dword [ebp - 0x90], 0xfdcde209
jmp 0x100023ae
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0xff815917
mov ecx, 0x73674305
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0x75636756
jmp 0x100023ae
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x90], 0x64fadd56
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
add edx, 0xb5c37c5c
sub edx, 1
sub edx, 0xb5c37c5c
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, 0x7013e9c1
mov ecx, 0xbdc2b0cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x48]
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]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
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, 0x7013e9c1
mov ecx, 0x6a59921c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0x2ffa4b51
jmp 0x100023ae
mov edx, dword [ebp - 0x44]
mov esi, 0xffffffff
mov eax, 0x3db3e99d
mov ecx, 0xf5609192
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
sub edx, 0x4ca58327
sub edx, 1
add edx, 0x4ca58327
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, 0xe1c762e2
mov ecx, 0x152c550
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
sub edx, 0x23400edf
sub edx, 1
add edx, 0x23400edf
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, 0xe1c762e2
mov ecx, 0xb9b6c91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0x75636756
jmp 0x100023ae
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 dword [ebp - 0x40], eax
mov dword [ebp - 0x90], 0xd7266531
jmp 0x100023ae
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0xed6c4da9
jmp 0x100023ae
mov edx, dword [ebp - 0x6c]
mov eax, 0x41f327ea
mov ecx, 0xed6b5593
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x90], 0xd8ad2b87
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
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, 0xd0580fa3
mov ecx, 0x339bbabb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
add edx, 0xccba5d62
sub edx, 1
sub edx, 0xccba5d62
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, 0xd0580fa3
mov ecx, 0xe12fddf8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0x595e4588
jmp 0x100023ae
mov dword [ebp - 0x90], 0x75636756
jmp 0x100023ae
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 eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x90], 0xd087c1e8
jmp 0x100023ae
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x90], 0x21ef678
jmp 0x100023ae
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x34]
add ecx, 0xffdf7099
add ecx, eax
sub ecx, 0xffdf7099
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x90], 0x65ea11f5
jmp 0x100023ae
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 dword [ebp - 0x90], 0xf08b4900
jmp 0x100023ae
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x90], 0x6025493a
jmp 0x100023ae
mov dl, byte [ebp - 0x25]
mov eax, 0xa96407d
mov ecx, 0x81b234a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
add edx, 0x1db53cd6
sub edx, 1
sub edx, 0x1db53cd6
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, 0xad13038a
mov ecx, 0x4f8cd3d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
xor ecx, ecx
mov edx, ecx
add edx, 0x18
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
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, 0xad13038a
mov ecx, 0x542da799
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0xf8fba8b9
jmp 0x100023ae
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax + 0x14]
mov eax, dword [ebp - 0x24]
sub eax, 0xb578c026
add eax, ecx
add eax, 0xb578c026
mov ecx, dword [ebp - 0x5c]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0x7615a901
add eax, ecx
sub eax, 0x7615a901
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x90], 0x1940225
jmp 0x100023ae
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10012190
call fcn.100091f0
add esp, 8
mov edx, eax
mov eax, 0x579567a9
mov ecx, 0xcfb86fb3
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
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, esi
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 [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 dword [ebp - 0x90], 0xe7993f55
jmp 0x100023ae
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
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.100083c0
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x90], 0xf9a83a47
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
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, 0x20b2571f
mov ecx, 0x8be6aae3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov ecx, dword [ebp - 0x14]
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 eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
mov edx, eax
sub edx, 0x678b6e43
sub edx, 1
add edx, 0x678b6e43
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, 0x20b2571f
mov ecx, 0x80655065
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0xcfb86fb3
jmp 0x100023ae
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
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, 0xa1c64d8b
mov ecx, 0xb6d984d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
mov edx, ecx
add edx, 0x4d726ce6
sub edx, 1
sub edx, 0x4d726ce6
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, 0xa1c64d8b
mov ecx, 0x3557e0c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0x1b3568ef
jmp 0x100023ae
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x10], ax
mov dword [ebp - 0x90], 0xfc103ac7
jmp 0x100023ae
mov ax, word [ebp - 0x10]
sub ax, 0x4d2c
add ax, 1
add ax, 0x4d2c
mov word [ebp - 0xe], ax
mov dword [ebp - 0x90], 0x9e4b3cba
jmp 0x100023ae
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0xe]
mov word [eax], cx
mov dword [ebp - 0x90], 0x65ea11f5
jmp 0x100023ae
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x26e3dd6a
jmp 0x100023ae
mov eax, dword [0x100698b8]
mov ecx, dword [0x100698b4]
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, 0xcd4ffc9d
mov ecx, 0x37b22ef4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100698b8]
mov eax, dword [0x100698b4]
mov edx, ecx
add edx, 0x2f67cd78
sub edx, 1
sub edx, 0x2f67cd78
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, 0xcd4ffc9d
mov ecx, 0x8602a3b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x100023ae
mov dword [ebp - 0x90], 0xcfc1302c
jmp 0x100023ae
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], 0x75636756
jmp 0x100023ae
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10007630
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0xbae3de15
jmp 0x100023ae
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x48]
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]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0xbdc2b0cf
jmp 0x100023ae
mov dword [ebp - 0x90], 0x152c550
jmp 0x100023ae
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x339bbabb
jmp 0x100023ae
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x90], 0x4f8cd3d8
jmp 0x100023ae
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov ecx, dword [ebp - 0x14]
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], 0x8be6aae3
jmp 0x100023ae
mov dword [ebp - 0x90], 0xb6d984d8
jmp 0x100023ae
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], 0x37b22ef4
jmp 0x10001117