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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10065200]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x92], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x91], al
mov dword [ebp - 0x98], 0xd5f1a5ed
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x808892a4
je 0x100020e9
jmp 0x1000126c
mov eax, dword [ebp - 0xa0]
sub eax, 0x80ee45c8
je 0x10001c32
jmp 0x10001282
mov eax, dword [ebp - 0xa0]
sub eax, 0x842d7d69
je 0x10001e63
jmp 0x10001298
mov eax, dword [ebp - 0xa0]
sub eax, 0x84363bc9
je 0x1000253d
jmp 0x100012ae
mov eax, dword [ebp - 0xa0]
sub eax, 0x8915ea9e
je 0x10002606
jmp 0x100012c4
mov eax, dword [ebp - 0xa0]
sub eax, 0x90777220
je 0x100026f9
jmp 0x100012da
mov eax, dword [ebp - 0xa0]
sub eax, 0x97361c0b
je 0x10002b71
jmp 0x100012f0
mov eax, dword [ebp - 0xa0]
sub eax, 0x97856c68
je 0x10002814
jmp 0x10001306
mov eax, dword [ebp - 0xa0]
sub eax, 0x9c63f02a
je 0x10002198
jmp 0x1000131c
mov eax, dword [ebp - 0xa0]
sub eax, 0x9def628c
je 0x10001d60
jmp 0x10001332
mov eax, dword [ebp - 0xa0]
sub eax, 0xa08cde5c
je 0x10002891
jmp 0x10001348
mov eax, dword [ebp - 0xa0]
sub eax, 0xa1103aec
je 0x10002502
jmp 0x1000135e
mov eax, dword [ebp - 0xa0]
sub eax, 0xa85e6c82
je 0x10001f76
jmp 0x10001374
mov eax, dword [ebp - 0xa0]
sub eax, 0xa9b64724
je 0x100024f3
jmp 0x1000138a
mov eax, dword [ebp - 0xa0]
sub eax, 0xada94f5c
je 0x10001e45
jmp 0x100013a0
mov eax, dword [ebp - 0xa0]
sub eax, 0xb67430ab
je 0x10001ed9
jmp 0x100013b6
mov eax, dword [ebp - 0xa0]
sub eax, 0xbb0334cb
je 0x10002511
jmp 0x100013cc
mov eax, dword [ebp - 0xa0]
sub eax, 0xbe3c7406
je 0x1000241f
jmp 0x100013e2
mov eax, dword [ebp - 0xa0]
sub eax, 0xc6638e78
je 0x10001e54
jmp 0x100013f8
mov eax, dword [ebp - 0xa0]
sub eax, 0xc8101f95
je 0x10002248
jmp 0x1000140e
mov eax, dword [ebp - 0xa0]
sub eax, 0xc969ac79
je 0x10002aa2
jmp 0x10001424
mov eax, dword [ebp - 0xa0]
sub eax, 0xcbb2b38b
je 0x10002907
jmp 0x1000143a
mov eax, dword [ebp - 0xa0]
sub eax, 0xcc46822c
je 0x10002a41
jmp 0x10001450
mov eax, dword [ebp - 0xa0]
sub eax, 0xce836b2f
je 0x100018f5
jmp 0x10001466
mov eax, dword [ebp - 0xa0]
sub eax, 0xceffd4fe
je 0x100023bf
jmp 0x1000147c
mov eax, dword [ebp - 0xa0]
sub eax, 0xd02e09d7
je 0x100020c9
jmp 0x10001492
mov eax, dword [ebp - 0xa0]
sub eax, 0xd1b85204
je 0x10002a2f
jmp 0x100014a8
mov eax, dword [ebp - 0xa0]
sub eax, 0xd3b82334
je 0x10002038
jmp 0x100014be
mov eax, dword [ebp - 0xa0]
sub eax, 0xd5f1a5ed
je 0x100018a1
jmp 0x100014d4
mov eax, dword [ebp - 0xa0]
sub eax, 0xd99fd9a8
je 0x10002b58
jmp 0x100014ea
mov eax, dword [ebp - 0xa0]
sub eax, 0xdae6cbde
je 0x10001f85
jmp 0x10001500
mov eax, dword [ebp - 0xa0]
sub eax, 0xde2334ad
je 0x10001c05
jmp 0x10001516
mov eax, dword [ebp - 0xa0]
sub eax, 0xdf1fd341
je 0x1000268b
jmp 0x1000152c
mov eax, dword [ebp - 0xa0]
sub eax, 0xe11b89cf
je 0x10002586
jmp 0x10001542
mov eax, dword [ebp - 0xa0]
sub eax, 0xe2292a3e
je 0x10001f9d
jmp 0x10001558
mov eax, dword [ebp - 0xa0]
sub eax, 0xea3b9306
je 0x10002aba
jmp 0x1000156e
mov eax, dword [ebp - 0xa0]
sub eax, 0xf0f0564c
je 0x1000298c
jmp 0x10001584
mov eax, dword [ebp - 0xa0]
sub eax, 0xf3173198
je 0x10001b2c
jmp 0x1000159a
mov eax, dword [ebp - 0xa0]
sub eax, 0xf3525fed
je 0x1000212e
jmp 0x100015b0
mov eax, dword [ebp - 0xa0]
sub eax, 0xf51ee4f0
je 0x10001d77
jmp 0x100015c6
mov eax, dword [ebp - 0xa0]
sub eax, 0x55708c7
je 0x10001c23
jmp 0x100015dc
mov eax, dword [ebp - 0xa0]
sub eax, 0x5595eb6
je 0x100022d6
jmp 0x100015f2
mov eax, dword [ebp - 0xa0]
sub eax, 0x5f45adf
je 0x10001cd4
jmp 0x10001608
mov eax, dword [ebp - 0xa0]
sub eax, 0x86911b3
je 0x100029d6
jmp 0x1000161e
mov eax, dword [ebp - 0xa0]
sub eax, 0x8dfc99c
je 0x10001a5a
jmp 0x10001634
mov eax, dword [ebp - 0xa0]
sub eax, 0xc89e764
je 0x10002823
jmp 0x1000164a
mov eax, dword [ebp - 0xa0]
sub eax, 0xe5c4672
je 0x10001d42
jmp 0x10001660
mov eax, dword [ebp - 0xa0]
sub eax, 0x12a77402
je 0x10002147
jmp 0x10001676
mov eax, dword [ebp - 0xa0]
sub eax, 0x13415875
je 0x100029a6
jmp 0x1000168c
mov eax, dword [ebp - 0xa0]
sub eax, 0x14e7bf2e
je 0x10002327
jmp 0x100016a2
mov eax, dword [ebp - 0xa0]
sub eax, 0x17d9a2c9
je 0x10002739
jmp 0x100016b8
mov eax, dword [ebp - 0xa0]
sub eax, 0x1b339e21
je 0x100019ef
jmp 0x100016ce
mov eax, dword [ebp - 0xa0]
sub eax, 0x21ed438a
je 0x10001b9a
jmp 0x100016e4
mov eax, dword [ebp - 0xa0]
sub eax, 0x22a5ab45
je 0x100023ce
jmp 0x100016fa
mov eax, dword [ebp - 0xa0]
sub eax, 0x22b7230a
je 0x10001c83
jmp 0x10001710
mov eax, dword [ebp - 0xa0]
sub eax, 0x35e09359
je 0x100019fe
jmp 0x10001726
mov eax, dword [ebp - 0xa0]
sub eax, 0x3b98521c
je 0x10002708
jmp 0x1000173c
mov eax, dword [ebp - 0xa0]
sub eax, 0x426fcfcb
je 0x10002916
jmp 0x10001752
mov eax, dword [ebp - 0xa0]
sub eax, 0x462b2e19
je 0x10001ab6
jmp 0x10001768
mov eax, dword [ebp - 0xa0]
sub eax, 0x4671aa24
je 0x10001a3c
jmp 0x1000177e
mov eax, dword [ebp - 0xa0]
sub eax, 0x46e46fc5
je 0x100020ba
jmp 0x10001794
mov eax, dword [ebp - 0xa0]
sub eax, 0x48ecd9eb
je 0x10002ba3
jmp 0x100017aa
mov eax, dword [ebp - 0xa0]
sub eax, 0x4f80f509
je 0x100029b8
jmp 0x100017c0
mov eax, dword [ebp - 0xa0]
sub eax, 0x51eb9e0a
je 0x10001a69
jmp 0x100017d6
mov eax, dword [ebp - 0xa0]
sub eax, 0x62dc393f
je 0x10002928
mov bl, byte [ebp - 0x92]
mov dh, byte [ebp - 0x91]
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, 0x62dc393f
mov ecx, 0xce836b2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov ecx, dword [ebp - 0x9c]
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
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
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10007110
add esp, 0xc
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
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, 0x62dc393f
mov ecx, 0x1b339e21
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x35e09359
jmp 0x10002bad
mov eax, dword [ebp - 0x90]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0x98], 0x4671aa24
jmp 0x10002bad
mov dl, byte [ebp - 0x51]
mov eax, 0x8dfc99c
mov ecx, 0x51eb9e0a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x426fcfcb
jmp 0x10002bad
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x88]
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 - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x462b2e19
jmp 0x10002bad
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
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 - 0x7c]
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 dword [ebp - 0x50], eax
mov dword [ebp - 0x98], 0xf3173198
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
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, 0xf0f0564c
mov ecx, 0x21ed438a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x4a], al
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
add edx, 0x5fc486bc
sub edx, 1
sub edx, 0x5fc486bc
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, 0xf0f0564c
mov ecx, 0xde2334ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dl, byte [ebp - 0x4a]
mov eax, 0x80ee45c8
mov ecx, 0x55708c7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x426fcfcb
jmp 0x10002bad
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0x22b7230a
jmp 0x10002bad
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
sub edx, 0xbc9d10bd
sub edx, 1
add edx, 0xbc9d10bd
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, 0x13415875
mov ecx, 0x5f45adf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x74]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
sub edx, 0xa1d6d20b
sub edx, 1
add edx, 0xa1d6d20b
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, 0x13415875
mov ecx, 0x79c5fc6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dl, byte [ebp - 0x49]
mov eax, 0x9def628c
mov ecx, 0x842d7d69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x98], 0xf51ee4f0
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0x1d7aec3a
sub edx, 1
add edx, 0x1d7aec3a
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, 0x4f80f509
mov ecx, 0x66a7a1d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0xc6638e78
jmp 0x10002bad
mov dword [ebp - 0x98], 0x426fcfcb
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0x5e09e99c
sub edx, 1
add edx, 0x5e09e99c
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, 0x86911b3
mov ecx, 0xb67430ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
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, 0x86911b3
mov ecx, 0xa85e6c82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0xdae6cbde
jmp 0x10002bad
mov eax, dword [ebp - 0x40]
add eax, 0x3c
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x98], 0xe2292a3e
jmp 0x10002bad
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x44]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x98], 0x73c406cd
jmp 0x10002bad
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0xa730ab03
sub edx, 1
add edx, 0xa730ab03
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, 0xd1b85204
mov ecx, 0x46e46fc5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0xd02e09d7
jmp 0x10002bad
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov eax, 0x3b98521c
mov ecx, 0x808892a4
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, 0xbef3e206
add eax, 0x18
add eax, 0xbef3e206
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x2a], ax
mov dword [ebp - 0x98], 0xf3525fed
jmp 0x10002bad
mov ax, word [ebp - 0x2a]
movzx eax, ax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x98], 0x12a77402
jmp 0x10002bad
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
sub edx, 0xeb990813
sub edx, 1
add edx, 0xeb990813
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, 0xcc46822c
mov ecx, 0x9c63f02a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x28]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x30]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10013190
call fcn.10009480
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x21], al
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
add edx, 0x4a3ee69e
sub edx, 1
sub edx, 0x4a3ee69e
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, 0xcc46822c
mov ecx, 0xc8101f95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dl, byte [ebp - 0x21]
mov eax, 0x6cf0c7ab
mov ecx, 0xa1103aec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
sub edx, 0x5e4df23b
sub edx, 1
add edx, 0x5e4df23b
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, 0xc969ac79
mov ecx, 0x14e7bf2e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x492912b8
add eax, ecx
sub eax, 0x492912b8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0x391a88b
sub edx, 1
add edx, 0x391a88b
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, 0xc969ac79
mov ecx, 0xceffd4fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x22a5ab45
jmp 0x10002bad
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
add edx, 0x388dc8ed
sub edx, 1
sub edx, 0x388dc8ed
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, 0xea3b9306
mov ecx, 0xbe3c7406
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x18]
sub ecx, 0xa19acd1a
add ecx, eax
add ecx, 0xa19acd1a
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10007270
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
mov edx, eax
add edx, 0x3958fb4f
sub edx, 1
sub edx, 0x3958fb4f
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, 0xea3b9306
mov ecx, 0xa9b64724
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0xa1103aec
jmp 0x10002bad
mov dword [ebp - 0x98], 0xbb0334cb
jmp 0x10002bad
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0x98], 0x84363bc9
jmp 0x10002bad
mov eax, dword [0x10066550]
mov ecx, dword [0x1006654c]
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, 0xd99fd9a8
mov ecx, 0xe11b89cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov eax, dword [ebp - 0x64]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0xff1a4bfc
sub edx, 1
add edx, 0xff1a4bfc
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, 0xd99fd9a8
mov ecx, 0x8915ea9e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x6e7fe021
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
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, 0x97361c0b
mov ecx, 0x90777220
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x73c406cd
jmp 0x10002bad
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x17d9a2c9
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
add edx, 0xb91bfd55
sub edx, 1
sub edx, 0xb91bfd55
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, 0x7714f06b
mov ecx, 0x7ea5421f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0xc89e764
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
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, 0x48ecd9eb
mov ecx, 0xa08cde5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov ecx, dword [0x10066550]
mov eax, dword [0x1006654c]
mov edx, ecx
sub edx, 0xd77213b5
sub edx, 1
add edx, 0xd77213b5
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, 0x48ecd9eb
mov ecx, 0xcbb2b38b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002bad
mov dword [ebp - 0x98], 0x426fcfcb
jmp 0x10002bad
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10006510
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0x21ed438a
jmp 0x10002bad
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x98], 0x5f45adf
jmp 0x10002bad
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x66a7a1d6
jmp 0x10002bad
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0xb67430ab
jmp 0x10002bad
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0xd3b82334
jmp 0x10002bad
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 0xd97f4e0b
add ecx, eax
add ecx, 0xd97f4e0b
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10013190
call fcn.10009480
add esp, 8
mov dword [ebp - 0x98], 0x9c63f02a
jmp 0x10002bad
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], 0x14e7bf2e
jmp 0x10002bad
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
add ecx, 0xf0a09110
add ecx, eax
sub ecx, 0xf0a09110
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10007270
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov dword [ebp - 0x98], 0xbe3c7406
jmp 0x10002bad
mov eax, dword [ebp - 0x64]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x98], 0xe11b89cf
jmp 0x10002bad
mov dword [ebp - 0x98], 0xdf1fd341
jmp 0x10002bad
mov dword [ebp - 0x98], 0xa08cde5c
jmp 0x10001250