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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10066000]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0x149b9970
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x85c36069
je 0x10001bd1
jmp 0x100010f5
mov eax, dword [ebp - 0xa0]
sub eax, 0x865147e3
je 0x10001d6f
jmp 0x1000110b
mov eax, dword [ebp - 0xa0]
sub eax, 0x955c5dd3
je 0x10002b89
jmp 0x10001121
mov eax, dword [ebp - 0xa0]
sub eax, 0xa10e3904
je 0x10001be0
jmp 0x10001137
mov eax, dword [ebp - 0xa0]
sub eax, 0xa51f6d40
je 0x10001bb3
jmp 0x1000114d
mov eax, dword [ebp - 0xa0]
sub eax, 0xa5374664
je 0x100020e8
jmp 0x10001163
mov eax, dword [ebp - 0xa0]
sub eax, 0xb28f0151
je 0x10001944
jmp 0x10001179
mov eax, dword [ebp - 0xa0]
sub eax, 0xb2b8f0aa
je 0x100021b4
jmp 0x1000118f
mov eax, dword [ebp - 0xa0]
sub eax, 0xb39efad6
je 0x10002c2e
jmp 0x100011a5
mov eax, dword [ebp - 0xa0]
sub eax, 0xb71a9716
je 0x10002058
jmp 0x100011bb
mov eax, dword [ebp - 0xa0]
sub eax, 0xb8756ef5
je 0x10002352
jmp 0x100011d1
mov eax, dword [ebp - 0xa0]
sub eax, 0xbac3b54d
je 0x10002b20
jmp 0x100011e7
mov eax, dword [ebp - 0xa0]
sub eax, 0xc04b4980
je 0x100026da
jmp 0x100011fd
mov eax, dword [ebp - 0xa0]
sub eax, 0xc2f9655e
je 0x100020d9
jmp 0x10001213
mov eax, dword [ebp - 0xa0]
sub eax, 0xc54945fe
je 0x100027bf
jmp 0x10001229
mov eax, dword [ebp - 0xa0]
sub eax, 0xc5c1fba4
je 0x10002ab7
jmp 0x1000123f
mov eax, dword [ebp - 0xa0]
sub eax, 0xca47fc11
je 0x1000226c
jmp 0x10001255
mov eax, dword [ebp - 0xa0]
sub eax, 0xcd1bbe65
je 0x10001c39
jmp 0x1000126b
mov eax, dword [ebp - 0xa0]
sub eax, 0xd3f00631
je 0x10001a60
jmp 0x10001281
mov eax, dword [ebp - 0xa0]
sub eax, 0xd60d5803
je 0x10002be3
jmp 0x10001297
mov eax, dword [ebp - 0xa0]
sub eax, 0xd70eaf86
je 0x100024c5
jmp 0x100012ad
mov eax, dword [ebp - 0xa0]
sub eax, 0xd75fa0e5
je 0x10002795
jmp 0x100012c3
mov eax, dword [ebp - 0xa0]
sub eax, 0xd9b67f96
je 0x10001df0
jmp 0x100012d9
mov eax, dword [ebp - 0xa0]
sub eax, 0xe23eca41
je 0x100028fb
jmp 0x100012ef
mov eax, dword [ebp - 0xa0]
sub eax, 0xe28048ec
je 0x100017e9
jmp 0x10001305
mov eax, dword [ebp - 0xa0]
sub eax, 0xe6425b2e
je 0x1000292b
jmp 0x1000131b
mov eax, dword [ebp - 0xa0]
sub eax, 0xed196338
je 0x1000210c
jmp 0x10001331
mov eax, dword [ebp - 0xa0]
sub eax, 0xedf032e0
je 0x10002b77
jmp 0x10001347
mov eax, dword [ebp - 0xa0]
sub eax, 0xef849188
je 0x100028ec
jmp 0x1000135d
mov eax, dword [ebp - 0xa0]
sub eax, 0xf08a8acc
je 0x10002a69
jmp 0x10001373
mov eax, dword [ebp - 0xa0]
sub eax, 0xfed20515
je 0x10001a92
jmp 0x10001389
mov eax, dword [ebp - 0xa0]
sub eax, 0x37f67e3
je 0x10002786
jmp 0x1000139f
mov eax, dword [ebp - 0xa0]
sub eax, 0x401b23a
je 0x10002334
jmp 0x100013b5
mov eax, dword [ebp - 0xa0]
sub eax, 0x771f5c5
je 0x10002b11
jmp 0x100013cb
mov eax, dword [ebp - 0xa0]
sub eax, 0x93e0475
je 0x100023c0
jmp 0x100013e1
mov eax, dword [ebp - 0xa0]
sub eax, 0xa1535e3
je 0x10001d3a
jmp 0x100013f7
mov eax, dword [ebp - 0xa0]
sub eax, 0xa774d9e
je 0x10001d8d
jmp 0x1000140d
mov eax, dword [ebp - 0xa0]
sub eax, 0x11fedcb2
je 0x10001c56
jmp 0x10001423
mov eax, dword [ebp - 0xa0]
sub eax, 0x149b9970
je 0x10001798
jmp 0x10001439
mov eax, dword [ebp - 0xa0]
sub eax, 0x1654ce80
je 0x1000260c
jmp 0x1000144f
mov eax, dword [ebp - 0xa0]
sub eax, 0x1684c195
je 0x100019c1
jmp 0x10001465
mov eax, dword [ebp - 0xa0]
sub eax, 0x21b84710
je 0x1000286e
jmp 0x1000147b
mov eax, dword [ebp - 0xa0]
sub eax, 0x22c9a760
je 0x10002c0d
jmp 0x10001491
mov eax, dword [ebp - 0xa0]
sub eax, 0x277122cb
je 0x100027d8
jmp 0x100014a7
mov eax, dword [ebp - 0xa0]
sub eax, 0x281d1f2c
je 0x10002d23
jmp 0x100014bd
mov eax, dword [ebp - 0xa0]
sub eax, 0x2c93d7b2
je 0x10001f07
jmp 0x100014d3
mov eax, dword [ebp - 0xa0]
sub eax, 0x2dee7f1c
je 0x10002b62
jmp 0x100014e9
mov eax, dword [ebp - 0xa0]
sub eax, 0x32704fe7
je 0x10001909
jmp 0x100014ff
mov eax, dword [ebp - 0xa0]
sub eax, 0x3ca42194
je 0x10002437
jmp 0x10001515
mov eax, dword [ebp - 0xa0]
sub eax, 0x3f194531
je 0x10001a51
jmp 0x1000152b
mov eax, dword [ebp - 0xa0]
sub eax, 0x40627983
je 0x10001ff8
jmp 0x10001541
mov eax, dword [ebp - 0xa0]
sub eax, 0x41195fa5
je 0x10002999
jmp 0x10001557
mov eax, dword [ebp - 0xa0]
sub eax, 0x44abda9d
je 0x10001918
jmp 0x1000156d
mov eax, dword [ebp - 0xa0]
sub eax, 0x45e50754
je 0x100022bd
jmp 0x10001583
mov eax, dword [ebp - 0xa0]
sub eax, 0x46cc6950
je 0x100025fd
jmp 0x10001599
mov eax, dword [ebp - 0xa0]
sub eax, 0x4cc9f00b
je 0x10001d9c
jmp 0x100015af
mov eax, dword [ebp - 0xa0]
sub eax, 0x510c28c4
je 0x10001ccc
jmp 0x100015c5
mov eax, dword [ebp - 0xa0]
sub eax, 0x5277227e
je 0x10001d58
jmp 0x100015db
mov eax, dword [ebp - 0xa0]
sub eax, 0x540df82b
je 0x100026cb
jmp 0x100015f1
mov eax, dword [ebp - 0xa0]
sub eax, 0x5450e629
je 0x10002d47
jmp 0x10001607
mov eax, dword [ebp - 0xa0]
sub eax, 0x555ec62f
je 0x10002d35
jmp 0x1000161d
mov eax, dword [ebp - 0xa0]
sub eax, 0x57745651
je 0x10002d14
jmp 0x10001633
mov eax, dword [ebp - 0xa0]
sub eax, 0x57d2811a
je 0x100027f8
jmp 0x10001649
mov eax, dword [ebp - 0xa0]
sub eax, 0x598ad864
je 0x10002428
jmp 0x1000165f
mov eax, dword [ebp - 0xa0]
sub eax, 0x5e8604a1
je 0x10001b08
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
add edx, 0xd60f66
sub edx, 1
sub edx, 0xd60f66
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, 0x6a5d1ea2
mov ecx, 0xe28048ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x9c]
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x80], ecx
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 - 0x90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100077d0
add esp, 0xc
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
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, 0x6a5d1ea2
mov ecx, 0x32704fe7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0x44abda9d
jmp 0x10002d51
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 0x88]
mov eax, 0xb28f0151
mov ecx, 0x6b7d80ee
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xe6425b2e
jmp 0x10002d51
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
add edx, 0x66f18dd1
sub edx, 1
sub edx, 0x66f18dd1
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, 0xf08a8acc
mov ecx, 0x3f194531
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xd3f00631
jmp 0x10002d51
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
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 - 0x98], 0xfed20515
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
sub edx, 0xd108dea2
sub edx, 1
add edx, 0xd108dea2
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, 0xc5c1fba4
mov ecx, 0x5e8604a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dl, byte [ebp - 0x51]
mov eax, 0xa10e3904
mov ecx, 0x85c36069
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xe6425b2e
jmp 0x10002d51
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x98], 0xcd1bbe65
jmp 0x10002d51
mov eax, dword [ebp - 0x50]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0x98], 0x11fedcb2
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
sub edx, 0xb8385c51
sub edx, 1
add edx, 0xb8385c51
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, 0x771f5c5
mov ecx, 0x510c28c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
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, 0x771f5c5
mov ecx, 0xa1535e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dl, byte [ebp - 0x49]
mov eax, 0x5277227e
mov ecx, 0x4cc9f00b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x98], 0x865147e3
jmp 0x10002d51
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xa774d9e
jmp 0x10002d51
mov dword [ebp - 0x98], 0xe6425b2e
jmp 0x10002d51
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 eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x98], 0xd9b67f96
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
sub edx, 0x15b65f6b
sub edx, 1
add edx, 0x15b65f6b
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, 0xbac3b54d
mov ecx, 0x5f0c1615
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0x6514e072
jmp 0x10002d51
mov dword [ebp - 0x98], 0x63825891
jmp 0x10002d51
mov eax, dword [ebp - 0x3c]
mov ax, word [eax + 2]
mov word [ebp - 0x36], ax
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
add edx, 0x14352f0
sub edx, 1
sub edx, 0x14352f0
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, 0xedf032e0
mov ecx, 0xc2f9655e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xa5374664
jmp 0x10002d51
mov ax, word [ebp - 0x36]
movzx esi, ax
mov edx, dword [ebp - 0x40]
mov eax, 0x277122cb
mov ecx, 0xed196338
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub eax, 0x1d7473d2
add eax, 0x18
add eax, 0x1d7473d2
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x98], 0x7602250d
jmp 0x10002d51
mov eax, dword [ebp - 0x30]
movzx eax, word [eax]
mov ecx, dword [ebp - 0x34]
add ecx, 0xce2f2dbc
add ecx, eax
sub ecx, 0xce2f2dbc
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x46100052
add ecx, eax
add ecx, 0x46100052
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
add edx, 0x6b45ddb8
sub edx, 1
sub edx, 0x6b45ddb8
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, 0x955c5dd3
mov ecx, 0x79b946a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
sub edx, 0xaefe97d5
sub edx, 1
add edx, 0xaefe97d5
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, 0xd60d5803
mov ecx, 0x45e50754
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10013190
call fcn.10009b50
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
sub edx, 0x6cd3d1e5
sub edx, 1
add edx, 0x6cd3d1e5
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, 0xd60d5803
mov ecx, 0x401b23a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dl, byte [ebp - 0x29]
mov eax, 0xb8756ef5
mov ecx, 0x1654ce80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
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, 0x22c9a760
mov ecx, 0x93e0475
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
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, 0x22c9a760
mov ecx, 0x598ad864
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0x3ca42194
jmp 0x10002d51
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x98], 0x632c623b
jmp 0x10002d51
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
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 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 edx, edx
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]
sub ecx, 0xc93ec5be
add ecx, eax
add ecx, 0xc93ec5be
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.10007930
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xe91b1483
add esi, eax
sub esi, 0xe91b1483
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
sub edx, 0x44cd8646
sub edx, 1
add edx, 0x44cd8646
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, 0xb39efad6
mov ecx, 0x46cc6950
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0x1654ce80
jmp 0x10002d51
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
add edx, 0x99535677
sub edx, 1
sub edx, 0x99535677
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, 0x57745651
mov ecx, 0x6ed3967f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xc04b4980
jmp 0x10002d51
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
add edx, 0x4e0fdfac
sub edx, 1
sub edx, 0x4e0fdfac
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, 0x281d1f2c
mov ecx, 0x7e12b5be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xd75fa0e5
jmp 0x10002d51
mov ax, word [ebp - 0x18]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x16], ax
mov dword [ebp - 0x98], 0xc54945fe
jmp 0x10002d51
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x98], 0x696d44f0
jmp 0x10002d51
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x57d2811a
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
add edx, 0x19c4b127
sub edx, 1
sub edx, 0x19c4b127
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, 0x555ec62f
mov ecx, 0x21b84710
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
mov edx, ecx
add edx, 0x71295533
sub edx, 1
sub edx, 0x71295533
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, 0x555ec62f
mov ecx, 0xef849188
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov dword [ebp - 0x98], 0xe23eca41
jmp 0x10002d51
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0xe6425b2e
jmp 0x10002d51
mov ecx, dword [0x10067348]
mov eax, dword [0x10067344]
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, 0x5450e629
mov ecx, 0x41195fa5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [0x10067348]
mov ecx, dword [0x10067344]
mov edx, eax
sub edx, 0xa80b15c5
sub edx, 1
add edx, 0xa80b15c5
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, 0x5450e629
mov ecx, 0x79438e8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002d51
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x1684c195
jmp 0x10002d51
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 dword [ebp - 0x98], 0x5e8604a1
jmp 0x10002d51
mov dword [ebp - 0x98], 0x510c28c4
jmp 0x10002d51
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
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 - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x98], 0x5f0c1615
jmp 0x10002d51
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x6989ba29
jmp 0x10002d51
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x98], 0xb71a9716
jmp 0x10002d51
mov eax, dword [ebp - 0x30]
movzx eax, word [eax]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
sub ecx, 0xc429beb5
add ecx, eax
add ecx, 0xc429beb5
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xb2b8f0aa
jmp 0x10002d51
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10013190
call fcn.10009b50
add esp, 8
mov dword [ebp - 0x98], 0x45e50754
jmp 0x10002d51
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], 0x93e0475
jmp 0x10002d51
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
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 esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
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.10007930
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x98], 0xd70eaf86
jmp 0x10002d51
mov dword [ebp - 0x98], 0x6ed3967f
jmp 0x10002d51
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0x7e12b5be
jmp 0x10002d51
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0x21b84710
jmp 0x10002d51
mov dword [ebp - 0x98], 0x41195fa5
jmp 0x100010d9