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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x10067600]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x94], 0x974304f1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x80e42d27
je 0x100026c1
jmp 0x10001215
mov eax, dword [ebp - 0x9c]
sub eax, 0x857037b1
je 0x10001a8a
jmp 0x1000122b
mov eax, dword [ebp - 0x9c]
sub eax, 0x8cd15dc0
je 0x10001a99
jmp 0x10001241
mov eax, dword [ebp - 0x9c]
sub eax, 0x916c4a11
je 0x10001b26
jmp 0x10001257
mov eax, dword [ebp - 0x9c]
sub eax, 0x93ec0d49
je 0x10001d21
jmp 0x1000126d
mov eax, dword [ebp - 0x9c]
sub eax, 0x974304f1
je 0x1000176e
jmp 0x10001283
mov eax, dword [ebp - 0x9c]
sub eax, 0x9f26fa2f
je 0x10001c96
jmp 0x10001299
mov eax, dword [ebp - 0x9c]
sub eax, 0xa187736e
je 0x10001e58
jmp 0x100012af
mov eax, dword [ebp - 0x9c]
sub eax, 0xa790ed94
je 0x1000239d
jmp 0x100012c5
mov eax, dword [ebp - 0x9c]
sub eax, 0xab6b8797
je 0x100023dc
jmp 0x100012db
mov eax, dword [ebp - 0x9c]
sub eax, 0xadab7299
je 0x1000249a
jmp 0x100012f1
mov eax, dword [ebp - 0x9c]
sub eax, 0xb0c57934
je 0x100023b4
jmp 0x10001307
mov eax, dword [ebp - 0x9c]
sub eax, 0xb17bf51d
je 0x1000198b
jmp 0x1000131d
mov eax, dword [ebp - 0x9c]
sub eax, 0xb440acae
je 0x100026e2
jmp 0x10001333
mov eax, dword [ebp - 0x9c]
sub eax, 0xb5a1ecd0
je 0x10001f73
jmp 0x10001349
mov eax, dword [ebp - 0x9c]
sub eax, 0xbbd1033b
je 0x1000240d
jmp 0x1000135f
mov eax, dword [ebp - 0x9c]
sub eax, 0xbc256925
je 0x10002424
jmp 0x10001375
mov eax, dword [ebp - 0x9c]
sub eax, 0xbc702593
je 0x1000194d
jmp 0x1000138b
mov eax, dword [ebp - 0x9c]
sub eax, 0xc08917e6
je 0x100026a0
jmp 0x100013a1
mov eax, dword [ebp - 0x9c]
sub eax, 0xc1512de8
je 0x10001f2e
jmp 0x100013b7
mov eax, dword [ebp - 0x9c]
sub eax, 0xc671c7d1
je 0x10001db5
jmp 0x100013cd
mov eax, dword [ebp - 0x9c]
sub eax, 0xc9f9dba8
je 0x10002145
jmp 0x100013e3
mov eax, dword [ebp - 0x9c]
sub eax, 0xd0ef409f
je 0x10002511
jmp 0x100013f9
mov eax, dword [ebp - 0x9c]
sub eax, 0xd309e41d
je 0x10001bd7
jmp 0x1000140f
mov eax, dword [ebp - 0x9c]
sub eax, 0xd41884c9
je 0x10001b77
jmp 0x10001425
mov eax, dword [ebp - 0x9c]
sub eax, 0xd8f3e7fa
je 0x10002502
jmp 0x1000143b
mov eax, dword [ebp - 0x9c]
sub eax, 0xdc056d85
je 0x10002612
jmp 0x10001451
mov eax, dword [ebp - 0x9c]
sub eax, 0xdc244c51
je 0x10001d12
jmp 0x10001467
mov eax, dword [ebp - 0x9c]
sub eax, 0xde6b3b8b
je 0x10001a01
jmp 0x1000147d
mov eax, dword [ebp - 0x9c]
sub eax, 0xe0893f71
je 0x100023fe
jmp 0x10001493
mov eax, dword [ebp - 0x9c]
sub eax, 0xe156a1b1
je 0x100027d5
jmp 0x100014a9
mov eax, dword [ebp - 0x9c]
sub eax, 0xe509769a
je 0x10001d3f
jmp 0x100014bf
mov eax, dword [ebp - 0x9c]
sub eax, 0xe7e04431
je 0x10001fd7
jmp 0x100014d5
mov eax, dword [ebp - 0x9c]
sub eax, 0xe98a2aaf
je 0x10002012
jmp 0x100014eb
mov eax, dword [ebp - 0x9c]
sub eax, 0xeae83330
je 0x10002247
jmp 0x10001501
mov eax, dword [ebp - 0x9c]
sub eax, 0xec2d4a53
je 0x10002541
jmp 0x10001517
mov eax, dword [ebp - 0x9c]
sub eax, 0xf5b87497
je 0x100026af
jmp 0x1000152d
mov eax, dword [ebp - 0x9c]
sub eax, 0xf8ea4875
je 0x100026d3
jmp 0x10001543
mov eax, dword [ebp - 0x9c]
sub eax, 0xff51b723
je 0x10002059
jmp 0x10001559
mov eax, dword [ebp - 0x9c]
sub eax, 0x5fd66b
je 0x10001ffa
jmp 0x1000156f
mov eax, dword [ebp - 0x9c]
sub eax, 0xe6828e
je 0x10002035
jmp 0x10001585
mov eax, dword [ebp - 0x9c]
sub eax, 0x46a32ce
je 0x10001841
jmp 0x1000159b
mov eax, dword [ebp - 0x9c]
sub eax, 0x6ed0737
je 0x10002592
jmp 0x100015b1
mov eax, dword [ebp - 0x9c]
sub eax, 0xb8b58f5
je 0x1000274b
jmp 0x100015c7
mov eax, dword [ebp - 0x9c]
sub eax, 0x158d92a8
je 0x10002600
jmp 0x100015dd
mov eax, dword [ebp - 0x9c]
sub eax, 0x1e2f8591
je 0x100023c3
jmp 0x100015f3
mov eax, dword [ebp - 0x9c]
sub eax, 0x325c7194
je 0x10002238
jmp 0x10001609
mov eax, dword [ebp - 0x9c]
sub eax, 0x3457b0d2
je 0x10001920
jmp 0x1000161f
mov eax, dword [ebp - 0x9c]
sub eax, 0x372984e7
je 0x10002681
jmp 0x10001635
mov eax, dword [ebp - 0x9c]
sub eax, 0x39eba7dc
je 0x10002073
jmp 0x1000164b
mov eax, dword [ebp - 0x9c]
sub eax, 0x49429124
je 0x10001fa7
jmp 0x10001661
mov eax, dword [ebp - 0x9c]
sub eax, 0x4d4df8aa
je 0x100017d3
jmp 0x10001677
mov eax, dword [ebp - 0x9c]
sub eax, 0x4db399f0
je 0x10001e2b
jmp 0x1000168d
mov eax, dword [ebp - 0x9c]
sub eax, 0x4de111c9
je 0x10001f1f
jmp 0x100016a3
mov eax, dword [ebp - 0x9c]
sub eax, 0x52b5f1a7
je 0x10001e3a
jmp 0x100016b9
mov eax, dword [ebp - 0x9c]
sub eax, 0x556f4bfa
je 0x100020d7
jmp 0x100016cf
mov eax, dword [ebp - 0x9c]
sub eax, 0x5b8a4a0c
je 0x10001ece
jmp 0x100016e5
mov eax, dword [ebp - 0x9c]
sub eax, 0x629450a9
je 0x1000238e
jmp 0x100016fb
mov eax, dword [ebp - 0x9c]
sub eax, 0x6a100393
je 0x10002298
jmp 0x10001711
mov eax, dword [ebp - 0x9c]
sub eax, 0x734e7c3b
je 0x10001c28
jmp 0x10001727
mov eax, dword [ebp - 0x9c]
sub eax, 0x7708cdab
je 0x1000193e
jmp 0x1000173d
mov eax, dword [ebp - 0x9c]
sub eax, 0x7bbf8127
je 0x10001bc8
jmp 0x10001753
mov eax, dword [ebp - 0x9c]
sub eax, 0x7d184d8b
je 0x100027f6
jmp 0x10001769
jmp 0x10002800
push eax
sub esp, 8
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
mov dword [ebp - 0x94], 0x4d4df8aa
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0xdc056d85
mov ecx, 0x46a32ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x98]
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x8c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x90], eax
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.1000ba30
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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 ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0xdc056d85
mov ecx, 0x3457b0d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dl, byte [ebp - 0x51]
mov eax, 0x7708cdab
mov ecx, 0xbc702593
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xec2d4a53
jmp 0x10002800
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x90]
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 dword [ebp - 0x94], 0xb17bf51d
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
add edx, 0x7a471f19
sub edx, 1
sub edx, 0x7a471f19
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, 0x372984e7
mov ecx, 0xde6b3b8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
add edx, 0x42078dd2
sub edx, 1
sub edx, 0x42078dd2
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, 0x372984e7
mov ecx, 0x857037b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0x8cd15dc0
jmp 0x10002800
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
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 ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
mov esi, 0xffffffff
mov eax, 0xd309e41d
mov ecx, 0x916c4a11
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
sub edx, 0x133dcbcd
sub edx, 1
add edx, 0x133dcbcd
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, 0xc08917e6
mov ecx, 0xd41884c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
sub edx, 0xd5d70e9e
sub edx, 1
add edx, 0xd5d70e9e
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, 0xc08917e6
mov ecx, 0x7bbf8127
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xec2d4a53
jmp 0x10002800
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 - 0x94], 0x734e7c3b
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0xf5b87497
mov ecx, 0x9f26fa2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x74]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0xf5b87497
mov ecx, 0xdc244c51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0x93ec0d49
jmp 0x10002800
mov dl, byte [ebp - 0x49]
mov eax, 0xe509769a
mov ecx, 0xc1512de8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
add edx, 0x3527f5c9
sub edx, 1
sub edx, 0x3527f5c9
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, 0x80e42d27
mov ecx, 0xc671c7d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0x80e42d27
mov ecx, 0x4db399f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0x52b5f1a7
jmp 0x10002800
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xa187736e
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
add edx, 0xefef0c9a
sub edx, 1
sub edx, 0xefef0c9a
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, 0xf8ea4875
mov ecx, 0x5b8a4a0c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
sub edx, 0x378e0b79
sub edx, 1
add edx, 0x378e0b79
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, 0xf8ea4875
mov ecx, 0x4de111c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xec2d4a53
jmp 0x10002800
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 dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0xb5a1ecd0
jmp 0x10002800
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x44]
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 - 0x40], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0x49429124
jmp 0x10002800
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov word [eax], 0
mov dword [ebp - 0x94], 0xe7e04431
jmp 0x10002800
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x94], 0x5fd66b
jmp 0x10002800
mov eax, dword [ebp - 0x34]
add eax, 2
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0xe98a2aaf
jmp 0x10002800
mov eax, dword [ebp - 0x30]
movzx esi, word [eax]
mov edx, dword [ebp - 0x38]
mov eax, 0xbbd1033b
mov ecx, 0xe6828e
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub eax, 0x518dec80
add eax, 0x18
add eax, 0x518dec80
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0xff51b723
jmp 0x10002800
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], 0x39eba7dc
jmp 0x10002800
mov eax, dword [ebp - 0x28]
movzx edx, word [eax + 0x10]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x64]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xee2a4fa
add ecx, eax
add ecx, 0xee2a4fa
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], 0x100173b0
call fcn.1000dda0
add esp, 8
mov edx, eax
mov eax, 0x556f4bfa
mov ecx, 0xb0c57934
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0xb440acae
mov ecx, 0xc9f9dba8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x35caddc8
add edx, eax
add edx, 0x35caddc8
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0xa0cbae90
add eax, ecx
sub eax, 0xa0cbae90
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
sub edx, 0x9fda0b3
sub edx, 1
add edx, 0x9fda0b3
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, 0xb440acae
mov ecx, 0x325c7194
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xeae83330
jmp 0x10002800
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
add edx, 0xfb8c13a9
sub edx, 1
sub edx, 0xfb8c13a9
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, 0xb8b58f5
mov ecx, 0x6a100393
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
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.1000bb90
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, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
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 al
and al, 1
mov byte [ebp - 0x1b], al
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
sub edx, 0xba4da23b
sub edx, 1
add edx, 0xba4da23b
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, 0xb8b58f5
mov ecx, 0x629450a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xa790ed94
jmp 0x10002800
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x1b]
mov byte [eax], cl
mov dword [ebp - 0x94], 0xb0c57934
jmp 0x10002800
mov dword [ebp - 0x94], 0x1e2f8591
jmp 0x10002800
mov eax, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x94], 0xab6b8797
jmp 0x10002800
mov cx, word [ebp - 0x1a]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x64]
mov word [eax], cx
mov dword [ebp - 0x94], 0xe0893f71
jmp 0x10002800
mov dword [ebp - 0x94], 0xe7e04431
jmp 0x10002800
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x94], 0xbc256925
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
mov edx, ecx
sub edx, 0xe69598c8
sub edx, 1
add edx, 0xe69598c8
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, 0xe156a1b1
mov ecx, 0xadab7299
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
add edx, 0x51570531
sub edx, 1
sub edx, 0x51570531
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, 0xe156a1b1
mov ecx, 0xd8f3e7fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov dword [ebp - 0x94], 0xd0ef409f
jmp 0x10002800
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xec2d4a53
jmp 0x10002800
mov eax, dword [0x10068940]
mov ecx, dword [0x1006893c]
mov edx, eax
add edx, 0x6b24218c
sub edx, 1
sub edx, 0x6b24218c
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, 0x7d184d8b
mov ecx, 0x6ed0737
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov ecx, dword [0x10068940]
mov eax, dword [0x1006893c]
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, 0x7d184d8b
mov ecx, 0x158d92a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x10002800
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000ae30
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x90], eax
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.1000ba30
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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]
mov dword [ebp - 0x94], 0x46a32ce
jmp 0x10002800
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0xde6b3b8b
jmp 0x10002800
mov dword [ebp - 0x94], 0xd41884c9
jmp 0x10002800
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0x9f26fa2f
jmp 0x10002800
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0xc671c7d1
jmp 0x10002800
mov dword [ebp - 0x94], 0x5b8a4a0c
jmp 0x10002800
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x5c]
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 - 0x58]
mov byte [eax], cl
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x94], 0xc9f9dba8
jmp 0x10002800
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
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]
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.1000bb90
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]
mov dword [ebp - 0x94], 0x6a100393
jmp 0x10002800
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xadab7299
jmp 0x10002800
mov dword [ebp - 0x94], 0x6ed0737
jmp 0x100011f9