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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x10068800]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
sub edx, 0x1a2dda1d
sub edx, 1
add edx, 0x1a2dda1d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x94], 0xd474800c
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x80acf7c9
je 0x100026f0
jmp 0x10001253
mov eax, dword [ebp - 0x9c]
sub eax, 0x82b14d16
je 0x10002903
jmp 0x10001269
mov eax, dword [ebp - 0x9c]
sub eax, 0x8a62240f
je 0x10001b9f
jmp 0x1000127f
mov eax, dword [ebp - 0x9c]
sub eax, 0x8b2adde9
je 0x100025f3
jmp 0x10001295
mov eax, dword [ebp - 0x9c]
sub eax, 0x9024c03d
je 0x1000243d
jmp 0x100012ab
mov eax, dword [ebp - 0x9c]
sub eax, 0x93436e6f
je 0x10001c6d
jmp 0x100012c1
mov eax, dword [ebp - 0x9c]
sub eax, 0x941f14b9
je 0x10002959
jmp 0x100012d7
mov eax, dword [ebp - 0x9c]
sub eax, 0x9528cb75
je 0x10001acc
jmp 0x100012ed
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a080c45
je 0x10001c8b
jmp 0x10001303
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a58b132
je 0x10002564
jmp 0x10001319
mov eax, dword [ebp - 0x9c]
sub eax, 0xad19a190
je 0x100021ca
jmp 0x1000132f
mov eax, dword [ebp - 0x9c]
sub eax, 0xaf141fde
je 0x1000207b
jmp 0x10001345
mov eax, dword [ebp - 0x9c]
sub eax, 0xb7a77c8e
je 0x1000229c
jmp 0x1000135b
mov eax, dword [ebp - 0x9c]
sub eax, 0xb98a1730
je 0x10001b36
jmp 0x10001371
mov eax, dword [ebp - 0x9c]
sub eax, 0xbd16dbc7
je 0x10002504
jmp 0x10001387
mov eax, dword [ebp - 0x9c]
sub eax, 0xbdcc437d
je 0x100026e1
jmp 0x1000139d
mov eax, dword [ebp - 0x9c]
sub eax, 0xbf182839
je 0x10001d59
jmp 0x100013b3
mov eax, dword [ebp - 0x9c]
sub eax, 0xc07e325c
je 0x10001e6b
jmp 0x100013c9
mov eax, dword [ebp - 0x9c]
sub eax, 0xca2da12a
je 0x10001bcc
jmp 0x100013df
mov eax, dword [ebp - 0x9c]
sub eax, 0xcb10de14
je 0x100021f0
jmp 0x100013f5
mov eax, dword [ebp - 0x9c]
sub eax, 0xcd607f1a
je 0x1000204b
jmp 0x1000140b
mov eax, dword [ebp - 0x9c]
sub eax, 0xce368d33
je 0x1000262e
jmp 0x10001421
mov eax, dword [ebp - 0x9c]
sub eax, 0xd474800c
je 0x10001846
jmp 0x10001437
mov eax, dword [ebp - 0x9c]
sub eax, 0xd63e60c6
je 0x10001bbd
jmp 0x1000144d
mov eax, dword [ebp - 0x9c]
sub eax, 0xe06bc06e
je 0x100024f5
jmp 0x10001463
mov eax, dword [ebp - 0x9c]
sub eax, 0xe467e7b5
je 0x10002a26
jmp 0x10001479
mov eax, dword [ebp - 0x9c]
sub eax, 0xe518c24b
je 0x100021d9
jmp 0x1000148f
mov eax, dword [ebp - 0x9c]
sub eax, 0xe9dfaae4
je 0x10002a38
jmp 0x100014a5
mov eax, dword [ebp - 0x9c]
sub eax, 0xeb255948
je 0x1000281a
jmp 0x100014bb
mov eax, dword [ebp - 0x9c]
sub eax, 0xec59f808
je 0x1000261f
jmp 0x100014d1
mov eax, dword [ebp - 0x9c]
sub eax, 0xecd98d76
je 0x1000289a
jmp 0x100014e7
mov eax, dword [ebp - 0x9c]
sub eax, 0xecfbcc8a
je 0x10001f73
jmp 0x100014fd
mov eax, dword [ebp - 0x9c]
sub eax, 0xed225b04
je 0x1000210d
jmp 0x10001513
mov eax, dword [ebp - 0x9c]
sub eax, 0xf4fceddd
je 0x10002786
jmp 0x10001529
mov eax, dword [ebp - 0x9c]
sub eax, 0xffc9e95c
je 0x100027eb
jmp 0x1000153f
mov eax, dword [ebp - 0x9c]
sub eax, 0x8534aff
je 0x100028f1
jmp 0x10001555
mov eax, dword [ebp - 0x9c]
sub eax, 0x8b50779
je 0x10001934
jmp 0x1000156b
mov eax, dword [ebp - 0x9c]
sub eax, 0xac22c27
je 0x10002a58
jmp 0x10001581
mov eax, dword [ebp - 0x9c]
sub eax, 0xd17e0f5
je 0x10002226
jmp 0x10001597
mov eax, dword [ebp - 0x9c]
sub eax, 0xf00816d
je 0x100023a3
jmp 0x100015ad
mov eax, dword [ebp - 0x9c]
sub eax, 0x15ac38cf
je 0x100025e4
jmp 0x100015c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x1a3af2ba
je 0x10001c19
jmp 0x100015d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x1ae5efa0
je 0x100027fa
jmp 0x100015ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x1ae87d95
je 0x10001daa
jmp 0x10001605
mov eax, dword [ebp - 0x9c]
sub eax, 0x242a4446
je 0x10002394
jmp 0x1000161b
mov eax, dword [ebp - 0x9c]
sub eax, 0x3299bc36
je 0x10001925
jmp 0x10001631
mov eax, dword [ebp - 0x9c]
sub eax, 0x333dabc6
je 0x10001ed9
jmp 0x10001647
mov eax, dword [ebp - 0x9c]
sub eax, 0x33d1df9e
je 0x10001e0a
jmp 0x1000165d
mov eax, dword [ebp - 0x9c]
sub eax, 0x39cb94cf
je 0x10001d4a
jmp 0x10001673
mov eax, dword [ebp - 0x9c]
sub eax, 0x3a44b550
je 0x100023f4
jmp 0x10001689
mov eax, dword [ebp - 0x9c]
sub eax, 0x3c9ff3d1
je 0x1000205a
jmp 0x1000169f
mov eax, dword [ebp - 0x9c]
sub eax, 0x3cbf29c5
je 0x10001c56
jmp 0x100016b5
mov eax, dword [ebp - 0x9c]
sub eax, 0x3dd1b759
je 0x100019aa
jmp 0x100016cb
mov eax, dword [ebp - 0x9c]
sub eax, 0x3ed24e4e
je 0x100029cd
jmp 0x100016e1
mov eax, dword [ebp - 0x9c]
sub eax, 0x3f295aab
je 0x10001c38
jmp 0x100016f7
mov eax, dword [ebp - 0x9c]
sub eax, 0x44cc53b6
je 0x10001a9f
jmp 0x1000170d
mov eax, dword [ebp - 0x9c]
sub eax, 0x44cf64c6
je 0x10001d01
jmp 0x10001723
mov eax, dword [ebp - 0x9c]
sub eax, 0x5065b3ff
je 0x10001abd
jmp 0x10001739
mov eax, dword [ebp - 0x9c]
sub eax, 0x5723745e
je 0x1000267f
jmp 0x1000174f
mov eax, dword [ebp - 0x9c]
sub eax, 0x594626c0
je 0x10001ff8
jmp 0x10001765
mov eax, dword [ebp - 0x9c]
sub eax, 0x5a1df459
je 0x10002710
jmp 0x1000177b
mov eax, dword [ebp - 0x9c]
sub eax, 0x5b688fa9
je 0x10001f82
jmp 0x10001791
mov eax, dword [ebp - 0x9c]
sub eax, 0x5d612793
je 0x1000280b
jmp 0x100017a7
mov eax, dword [ebp - 0x9c]
sub eax, 0x6129849c
je 0x10002513
jmp 0x100017bd
mov eax, dword [ebp - 0x9c]
sub eax, 0x64276c0a
je 0x100028ac
mov bl, byte [ebp - 0x8e]
mov dh, byte [ebp - 0x8d]
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, 0x5d612793
mov ecx, 0x769ef54d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x8b50779
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
sub edx, 0xd4d9498d
sub edx, 1
add edx, 0xd4d9498d
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, 0xeb255948
mov ecx, 0x3dd1b759
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov ecx, dword [ebp - 0x98]
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c4d0
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4e], al
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
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, 0xeb255948
mov ecx, 0x69e955ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dl, byte [ebp - 0x4e]
mov eax, 0x5065b3ff
mov ecx, 0x9528cb75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x1ae5efa0
jmp 0x10002a76
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x94], 0xb98a1730
jmp 0x10002a76
mov eax, dword [ebp - 0x78]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x94], 0x8a62240f
jmp 0x10002a76
mov dl, byte [ebp - 0x4d]
mov eax, 0xca2da12a
mov ecx, 0xd63e60c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x1ae5efa0
jmp 0x10002a76
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0x1a3af2ba
jmp 0x10002a76
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0x3f295aab
jmp 0x10002a76
mov edx, dword [ebp - 0x48]
mov eax, 0x3cbf29c5
mov ecx, 0xbf182839
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0x93436e6f
jmp 0x10002a76
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x9a080c45
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x7c100630
sub edx, 1
sub edx, 0x7c100630
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, 0x7fa0a63d
mov ecx, 0x44cf64c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
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, 0x7fa0a63d
mov ecx, 0x39cb94cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x1ae5efa0
jmp 0x10002a76
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
mov edx, eax
add edx, 0x1f658841
sub edx, 1
sub edx, 0x1f658841
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, 0xecd98d76
mov ecx, 0x1ae87d95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
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, 0xecd98d76
mov ecx, 0x686373fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x40]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0xc07e325c
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
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, 0x64276c0a
mov ecx, 0x333dabc6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x845e8509
add ecx, eax
sub ecx, 0x845e8509
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x312a5ff
sub edx, 1
sub edx, 0x312a5ff
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, 0x64276c0a
mov ecx, 0xecfbcc8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x5b688fa9
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x89ed5600
sub edx, 1
sub edx, 0x89ed5600
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, 0x8534aff
mov ecx, 0x594626c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x32], ax
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
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, 0x8534aff
mov ecx, 0xcd607f1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x3c9ff3d1
jmp 0x10002a76
mov ax, word [ebp - 0x32]
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0xaf141fde
jmp 0x10002a76
mov eax, dword [ebp - 0x2c]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x30]
mov eax, 0xce368d33
mov ecx, 0x7b746e81
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x18
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
sub ecx, 0x8bc8d80d
add ecx, eax
add ecx, 0x8bc8d80d
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x917f9b83
add ecx, eax
add ecx, 0x917f9b83
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0xbccc277a
sub edx, 1
sub edx, 0xbccc277a
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, 0x82b14d16
mov ecx, 0xad19a190
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0xe518c24b
jmp 0x10002a76
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], 0xcb10de14
jmp 0x10002a76
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e840
add esp, 8
mov edx, eax
mov eax, 0xd17e0f5
mov ecx, 0xbd16dbc7
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x92152be5
sub edx, 1
sub edx, 0x92152be5
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, 0x941f14b9
mov ecx, 0xb7a77c8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x58]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x23e85463
sub edx, 1
sub edx, 0x23e85463
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, 0x941f14b9
mov ecx, 0x242a4446
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0xf00816d
jmp 0x10002a76
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000c630
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x94], 0x3a44b550
jmp 0x10002a76
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
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, 0x3ed24e4e
mov ecx, 0x9024c03d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x36d69830
add esi, eax
add esi, 0x36d69830
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x18]
mov edx, 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 - 0x54]
mov byte [eax], cl
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
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, 0x3ed24e4e
mov ecx, 0xe06bc06e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0xbd16dbc7
jmp 0x10002a76
mov dword [ebp - 0x94], 0x6129849c
jmp 0x10002a76
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
mov edx, eax
sub edx, 0x56322005
sub edx, 1
add edx, 0x56322005
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, 0xe467e7b5
mov ecx, 0x9a58b132
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0xe], ax
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x51987390
sub edx, 1
sub edx, 0x51987390
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, 0xe467e7b5
mov ecx, 0x15ac38cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x8b2adde9
jmp 0x10002a76
mov cx, word [ebp - 0xe]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x60]
mov word [eax], cx
mov dword [ebp - 0x94], 0xec59f808
jmp 0x10002a76
mov dword [ebp - 0x94], 0x5b688fa9
jmp 0x10002a76
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
mov edx, eax
sub edx, 0xeed5abe0
sub edx, 1
add edx, 0xeed5abe0
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, 0xe9dfaae4
mov ecx, 0x5723745e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
mov edx, eax
sub edx, 0x675be12
sub edx, 1
add edx, 0x675be12
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, 0xe9dfaae4
mov ecx, 0xbdcc437d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x80acf7c9
jmp 0x10002a76
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 - 0x94], 0x5a1df459
jmp 0x10002a76
mov ecx, dword [0x10069b38]
mov eax, dword [0x10069b34]
mov edx, ecx
add edx, 0x68aaf8a4
sub edx, 1
sub edx, 0x68aaf8a4
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, 0xac22c27
mov ecx, 0xf4fceddd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10069b38]
mov ecx, dword [0x10069b34]
mov edx, eax
sub edx, 0x2671670b
sub edx, 1
add edx, 0x2671670b
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, 0xac22c27
mov ecx, 0xffc9e95c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002a76
mov dword [ebp - 0x94], 0x1ae5efa0
jmp 0x10002a76
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000b8d0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0x769ef54d
jmp 0x10002a76
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c4d0
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], 0x3dd1b759
jmp 0x10002a76
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x94], 0x1ae87d95
jmp 0x10002a76
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x94], 0x594626c0
jmp 0x10002a76
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub ecx, 0xeae921da
add ecx, 0x18
add ecx, 0xeae921da
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
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 - 0x60]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xfb606c6
add ecx, eax
add ecx, 0xfb606c6
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0xed225b04
jmp 0x10002a76
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov 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 - 0x58]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x94], 0xb7a77c8e
jmp 0x10002a76
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
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 esi, esi
sub esi, eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x18]
mov edx, 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 - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x9024c03d
jmp 0x10002a76
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x94], 0x9a58b132
jmp 0x10002a76
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 - 0x94], 0x5723745e
jmp 0x10002a76
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xf4fceddd
jmp 0x10001237