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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x1006b000]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa0], 0x31cd1d58
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x811d0d70
je 0x100029ec
jmp 0x10001234
mov eax, dword [ebp - 0xa8]
sub eax, 0x8869c4c3
je 0x10001f7c
jmp 0x1000124a
mov eax, dword [ebp - 0xa8]
sub eax, 0x8fef4c51
je 0x10001b0e
jmp 0x10001260
mov eax, dword [ebp - 0xa8]
sub eax, 0x97f5428f
je 0x10002101
jmp 0x10001276
mov eax, dword [ebp - 0xa8]
sub eax, 0x9e3de72a
je 0x10001f2b
jmp 0x1000128c
mov eax, dword [ebp - 0xa8]
sub eax, 0xa3c18e20
je 0x100026da
jmp 0x100012a2
mov eax, dword [ebp - 0xa8]
sub eax, 0xa621c89f
je 0x10002926
jmp 0x100012b8
mov eax, dword [ebp - 0xa8]
sub eax, 0xa94b407e
je 0x10001de9
jmp 0x100012ce
mov eax, dword [ebp - 0xa8]
sub eax, 0xab89f032
je 0x10002a32
jmp 0x100012e4
mov eax, dword [ebp - 0xa8]
sub eax, 0xaf50ff34
je 0x100028e3
jmp 0x100012fa
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3288ffd
je 0x10002995
jmp 0x10001310
mov eax, dword [ebp - 0xa8]
sub eax, 0xb375fb43
je 0x100025f8
jmp 0x10001326
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3c21007
je 0x10002a64
jmp 0x1000133c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3c7f1e5
je 0x10001918
jmp 0x10001352
mov eax, dword [ebp - 0xa8]
sub eax, 0xb5cd38e1
je 0x100028c5
jmp 0x10001368
mov eax, dword [ebp - 0xa8]
sub eax, 0xb8bf6077
je 0x10001ab1
jmp 0x1000137e
mov eax, dword [ebp - 0xa8]
sub eax, 0xbb10b2ad
je 0x10002416
jmp 0x10001394
mov eax, dword [ebp - 0xa8]
sub eax, 0xbc548d5e
je 0x100029fb
jmp 0x100013aa
mov eax, dword [ebp - 0xa8]
sub eax, 0xc0c9961f
je 0x10002273
jmp 0x100013c0
mov eax, dword [ebp - 0xa8]
sub eax, 0xc4dbf869
je 0x10002205
jmp 0x100013d6
mov eax, dword [ebp - 0xa8]
sub eax, 0xc96798e7
je 0x100028ab
jmp 0x100013ec
mov eax, dword [ebp - 0xa8]
sub eax, 0xc9c54c09
je 0x10001ca6
jmp 0x10001402
mov eax, dword [ebp - 0xa8]
sub eax, 0xd029cffe
je 0x100021ca
jmp 0x10001418
mov eax, dword [ebp - 0xa8]
sub eax, 0xd2434e50
je 0x10002312
jmp 0x1000142e
mov eax, dword [ebp - 0xa8]
sub eax, 0xd460f101
je 0x100026e9
jmp 0x10001444
mov eax, dword [ebp - 0xa8]
sub eax, 0xd70f8f56
je 0x10001d05
jmp 0x1000145a
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1a4619a
je 0x100026f8
jmp 0x10001470
mov eax, dword [ebp - 0xa8]
sub eax, 0xe53c15e2
je 0x10001fea
jmp 0x10001486
mov eax, dword [ebp - 0xa8]
sub eax, 0xebb2ad2f
je 0x100018c7
jmp 0x1000149c
mov eax, dword [ebp - 0xa8]
sub eax, 0xfc2d18ff
je 0x10001c06
jmp 0x100014b2
mov eax, dword [ebp - 0xa8]
sub eax, 0xfe2a970d
je 0x10002ac9
jmp 0x100014c8
mov eax, dword [ebp - 0xa8]
sub eax, 0x2c13c87
je 0x1000289c
jmp 0x100014de
mov eax, dword [ebp - 0xa8]
sub eax, 0x601566e
je 0x10002434
jmp 0x100014f4
mov eax, dword [ebp - 0xa8]
sub eax, 0xb0c570d
je 0x10002649
jmp 0x1000150a
mov eax, dword [ebp - 0xa8]
sub eax, 0xc57e519
je 0x10001f1c
jmp 0x10001520
mov eax, dword [ebp - 0xa8]
sub eax, 0x10194116
je 0x10001d7b
jmp 0x10001536
mov eax, dword [ebp - 0xa8]
sub eax, 0x111945c0
je 0x1000208b
jmp 0x1000154c
mov eax, dword [ebp - 0xa8]
sub eax, 0x120c948a
je 0x10001c15
jmp 0x10001562
mov eax, dword [ebp - 0xa8]
sub eax, 0x1c3d083a
je 0x10001e97
jmp 0x10001578
mov eax, dword [ebp - 0xa8]
sub eax, 0x2070e058
je 0x10002321
jmp 0x1000158e
mov eax, dword [ebp - 0xa8]
sub eax, 0x25f06586
je 0x100027cb
jmp 0x100015a4
mov eax, dword [ebp - 0xa8]
sub eax, 0x260ddc6b
je 0x10002a1a
jmp 0x100015ba
mov eax, dword [ebp - 0xa8]
sub eax, 0x26d2a1d0
je 0x100019f2
jmp 0x100015d0
mov eax, dword [ebp - 0xa8]
sub eax, 0x26fe3a4e
je 0x10001cb5
jmp 0x100015e6
mov eax, dword [ebp - 0xa8]
sub eax, 0x2743ec6c
je 0x100029ce
jmp 0x100015fc
mov eax, dword [ebp - 0xa8]
sub eax, 0x2a8ce7ed
je 0x100027ab
jmp 0x10001612
mov eax, dword [ebp - 0xa8]
sub eax, 0x2ef576e1
je 0x10002b26
jmp 0x10001628
mov eax, dword [ebp - 0xa8]
sub eax, 0x2fc1f020
je 0x100019d4
jmp 0x1000163e
mov eax, dword [ebp - 0xa8]
sub eax, 0x31cd1d58
je 0x10001853
jmp 0x10001654
mov eax, dword [ebp - 0xa8]
sub eax, 0x3597b166
je 0x100024b5
jmp 0x1000166a
mov eax, dword [ebp - 0xa8]
sub eax, 0x3fa2b318
je 0x10002741
jmp 0x10001680
mov eax, dword [ebp - 0xa8]
sub eax, 0x4027f91f
je 0x10001b7c
jmp 0x10001696
mov eax, dword [ebp - 0xa8]
sub eax, 0x44a74253
je 0x100021ae
jmp 0x100016ac
mov eax, dword [ebp - 0xa8]
sub eax, 0x45d8b43c
je 0x1000281c
jmp 0x100016c2
mov eax, dword [ebp - 0xa8]
sub eax, 0x46fb48e9
je 0x10001d2a
jmp 0x100016d8
mov eax, dword [ebp - 0xa8]
sub eax, 0x47fe9dbe
je 0x10001a3b
jmp 0x100016ee
mov eax, dword [ebp - 0xa8]
sub eax, 0x4a543e3e
je 0x1000279c
jmp 0x10001704
mov eax, dword [ebp - 0xa8]
sub eax, 0x567fd1bc
je 0x10001e21
jmp 0x1000171a
mov eax, dword [ebp - 0xa8]
sub eax, 0x56e7d0cd
je 0x10001ff9
jmp 0x10001730
mov eax, dword [ebp - 0xa8]
sub eax, 0x57eda585
je 0x10002372
jmp 0x10001746
mov eax, dword [ebp - 0xa8]
sub eax, 0x57f01907
je 0x100021ee
jmp 0x1000175c
mov eax, dword [ebp - 0xa8]
sub eax, 0x5c724a0f
je 0x10002196
jmp 0x10001772
mov eax, dword [ebp - 0xa8]
sub eax, 0x5e2b0de1
je 0x10002506
jmp 0x10001788
mov eax, dword [ebp - 0xa8]
sub eax, 0x6212dd04
je 0x10002065
jmp 0x1000179e
mov eax, dword [ebp - 0xa8]
sub eax, 0x655eea42
je 0x10002187
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
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
push eax
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
mov dword [ebp - 0xa0], 0xebb2ad2f
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
add edx, 0xb92e316e
sub edx, 1
sub edx, 0xb92e316e
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, 0xa621c89f
mov ecx, 0xb3c7f1e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c560
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
sub edx, 0x36f0d6ee
sub edx, 1
add edx, 0x36f0d6ee
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, 0xa621c89f
mov ecx, 0x2fc1f020
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dl, byte [ebp - 0x5d]
mov eax, 0x26d2a1d0
mov ecx, 0x79b05285
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
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, 0xb3288ffd
mov ecx, 0x47fe9dbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
sub edx, 0xb910c934
sub edx, 1
add edx, 0xb910c934
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, 0xb3288ffd
mov ecx, 0xb8bf6077
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x7e5bb6c0
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
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, 0x76c62f10
mov ecx, 0x4027f91f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0x5632ed98
sub edx, 1
sub edx, 0x5632ed98
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, 0x76c62f10
mov ecx, 0xfc2d18ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x120c948a
jmp 0x10002b4c
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
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 - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov edx, dword [ebp - 0x84]
mov esi, 0xffffffff
mov eax, 0x26fe3a4e
mov ecx, 0xc9c54c09
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x7e5bb6c0
jmp 0x10002b4c
mov eax, dword [ebp - 0x84]
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 - 0x54], eax
mov dword [ebp - 0xa0], 0xd70f8f56
jmp 0x10002b4c
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0xa0], 0x46fb48e9
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
add edx, 0xa23213a4
sub edx, 1
sub edx, 0xa23213a4
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, 0x69170884
mov ecx, 0x10194116
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
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, 0x69170884
mov ecx, 0xa94b407e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dl, byte [ebp - 0x4d]
mov eax, 0x6f94743c
mov ecx, 0x56e7d0cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0xf0b89fea
sub edx, 1
sub edx, 0xf0b89fea
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, 0x2743ec6c
mov ecx, 0x1c3d083a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0x63049f2e
sub edx, 1
sub edx, 0x63049f2e
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, 0x2743ec6c
mov ecx, 0xc57e519
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x9e3de72a
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
sub edx, 0x4d7341d1
sub edx, 1
add edx, 0x4d7341d1
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, 0x811d0d70
mov ecx, 0x8869c4c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
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, 0x811d0d70
mov ecx, 0xe53c15e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x7e5bb6c0
jmp 0x10002b4c
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa0], 0x6212dd04
jmp 0x10002b4c
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
add eax, 0x6b2e1e0f
add eax, ecx
sub eax, 0x6b2e1e0f
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0x111945c0
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0x691bc7d1
sub edx, 1
sub edx, 0x691bc7d1
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, 0xbc548d5e
mov ecx, 0x97f5428f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0x2c7b7ab9
sub edx, 1
sub edx, 0x2c7b7ab9
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, 0xbc548d5e
mov ecx, 0x655eea42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa0], 0x44a74253
jmp 0x10002b4c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x36], ax
mov dword [ebp - 0xa0], 0xd029cffe
jmp 0x10002b4c
mov ax, word [ebp - 0x36]
movzx esi, ax
mov edx, dword [ebp - 0x3c]
mov eax, 0xc96798e7
mov ecx, 0x57f01907
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa0], 0xc4dbf869
jmp 0x10002b4c
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
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, 0x260ddc6b
mov ecx, 0xc0c9961f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0xdbeb4bf9
add eax, ecx
add eax, 0xdbeb4bf9
mov ecx, dword [ebp - 0x70]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
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, 0x260ddc6b
mov ecx, 0xd2434e50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x2070e058
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
sub edx, 0xc84dbc3b
sub edx, 1
add edx, 0xc84dbc3b
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, 0xab89f032
mov ecx, 0x57eda585
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e8d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
sub edx, 0xd62320db
sub edx, 1
add edx, 0xd62320db
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, 0xab89f032
mov ecx, 0xbb10b2ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dl, byte [ebp - 0x29]
mov eax, 0x601566e
mov ecx, 0xd460f101
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa0], 0x3597b166
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
sub edx, 0x170f6f94
sub edx, 1
add edx, 0x170f6f94
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, 0xb3c21007
mov ecx, 0x5e2b0de1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
add edx, 0x689f13f4
add edx, eax
sub edx, 0x689f13f4
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x6aa05046
add ecx, eax
add ecx, 0x6aa05046
mov eax, dword [ebp - 0x6c]
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.1000c6c0
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
sub edx, 0x762fe984
sub edx, 1
add edx, 0x762fe984
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, 0xb3c21007
mov ecx, 0x735932c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
add edx, 0xc60fb0a4
sub edx, 1
sub edx, 0xc60fb0a4
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, 0xfe2a970d
mov ecx, 0xb0c570d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0x18]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, 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 - 0x64]
mov byte [eax], cl
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
sub edx, 0x3d4615a9
sub edx, 1
add edx, 0x3d4615a9
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, 0xfe2a970d
mov ecx, 0xa3c18e20
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0xd460f101
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0xe1a4619a
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
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, 0x2ef576e1
mov ecx, 0x3fa2b318
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
add edx, 0xe48b4063
sub edx, 1
sub edx, 0xe48b4063
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, 0x2ef576e1
mov ecx, 0x4a543e3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x2a8ce7ed
jmp 0x10002b4c
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0xa0], 0x25f06586
jmp 0x10002b4c
mov eax, dword [0x1006c338]
mov ecx, dword [0x1006c334]
mov edx, eax
add edx, 0xba501dc9
sub edx, 1
sub edx, 0xba501dc9
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, 0x6582694b
mov ecx, 0x45d8b43c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov eax, dword [ebp - 0x70]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov ecx, dword [0x1006c338]
mov eax, dword [0x1006c334]
mov edx, ecx
add edx, 0xcee5248b
sub edx, 1
sub edx, 0xcee5248b
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, 0x6582694b
mov ecx, 0x2c13c87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x5c724a0f
jmp 0x10002b4c
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0xb5cd38e1
jmp 0x10002b4c
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xaf50ff34
jmp 0x10002b4c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x7e5bb6c0
jmp 0x10002b4c
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c560
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], 0xb3c7f1e5
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x47fe9dbe
jmp 0x10002b4c
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x1c3d083a
jmp 0x10002b4c
mov dword [ebp - 0xa0], 0x8869c4c3
jmp 0x10002b4c
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x97f5428f
jmp 0x10002b4c
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0xc0c9961f
jmp 0x10002b4c
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e8d0
add esp, 8
mov dword [ebp - 0xa0], 0x57eda585
jmp 0x10002b4c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
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 - 0x6c]
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.1000c6c0
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], 0x5e2b0de1
jmp 0x10002b4c
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
sub esi, 0xb257eebe
add esi, eax
add esi, 0xb257eebe
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, 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 - 0x64]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0xb0c570d
jmp 0x10002b4c
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x3fa2b318
jmp 0x10002b4c
jmp 0x10001218