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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xb0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x10098600]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xb0], 0xbdb5ba52
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], eax
sub eax, 0x8120f67d
je 0x1000254f
jmp 0x10001224
mov eax, dword [ebp - 0xb8]
sub eax, 0x82ea01cb
je 0x1000201d
jmp 0x1000123a
mov eax, dword [ebp - 0xb8]
sub eax, 0x833bfcfb
je 0x100020b6
jmp 0x10001250
mov eax, dword [ebp - 0xb8]
sub eax, 0x8468e3b2
je 0x10001bce
jmp 0x10001266
mov eax, dword [ebp - 0xb8]
sub eax, 0x84f1f320
je 0x10001f75
jmp 0x1000127c
mov eax, dword [ebp - 0xb8]
sub eax, 0x8864ce82
je 0x100019e9
jmp 0x10001292
mov eax, dword [ebp - 0xb8]
sub eax, 0x8bbee999
je 0x100019f8
jmp 0x100012a8
mov eax, dword [ebp - 0xb8]
sub eax, 0x8f6921e1
je 0x10001c06
jmp 0x100012be
mov eax, dword [ebp - 0xb8]
sub eax, 0x907356b4
je 0x10002300
jmp 0x100012d4
mov eax, dword [ebp - 0xb8]
sub eax, 0x9477a460
je 0x10001cd4
jmp 0x100012ea
mov eax, dword [ebp - 0xb8]
sub eax, 0x9e240a58
je 0x1000227d
jmp 0x10001300
mov eax, dword [ebp - 0xb8]
sub eax, 0xa0002b08
je 0x100022d2
jmp 0x10001316
mov eax, dword [ebp - 0xb8]
sub eax, 0xa61d74ed
je 0x100020ff
jmp 0x1000132c
mov eax, dword [ebp - 0xb8]
sub eax, 0xa8f82d1e
je 0x10002564
jmp 0x10001342
mov eax, dword [ebp - 0xb8]
sub eax, 0xac902c55
je 0x1000243c
jmp 0x10001358
mov eax, dword [ebp - 0xb8]
sub eax, 0xace4acd6
je 0x10001f24
jmp 0x1000136e
mov eax, dword [ebp - 0xb8]
sub eax, 0xad4d119b
je 0x1000233f
jmp 0x10001384
mov eax, dword [ebp - 0xb8]
sub eax, 0xaf0921bd
je 0x10001dad
jmp 0x1000139a
mov eax, dword [ebp - 0xb8]
sub eax, 0xb17a4d29
je 0x10001a89
jmp 0x100013b0
mov eax, dword [ebp - 0xb8]
sub eax, 0xb4d77c96
je 0x1000209c
jmp 0x100013c6
mov eax, dword [ebp - 0xb8]
sub eax, 0xbdb5ba52
je 0x100016f9
jmp 0x100013dc
mov eax, dword [ebp - 0xb8]
sub eax, 0xc7882e91
je 0x100022b6
jmp 0x100013f2
mov eax, dword [ebp - 0xb8]
sub eax, 0xc945d5f0
je 0x100018df
jmp 0x10001408
mov eax, dword [ebp - 0xb8]
sub eax, 0xcae4d414
je 0x10001a98
jmp 0x1000141e
mov eax, dword [ebp - 0xb8]
sub eax, 0xcbc7e3cc
je 0x10001eb6
jmp 0x10001434
mov eax, dword [ebp - 0xb8]
sub eax, 0xcbffb3b9
je 0x100023b5
jmp 0x1000144a
mov eax, dword [ebp - 0xb8]
sub eax, 0xccaef7e0
je 0x10002184
jmp 0x10001460
mov eax, dword [ebp - 0xb8]
sub eax, 0xd0294904
je 0x1000228c
jmp 0x10001476
mov eax, dword [ebp - 0xb8]
sub eax, 0xdb2bf317
je 0x10002540
jmp 0x1000148c
mov eax, dword [ebp - 0xb8]
sub eax, 0xddc88fdb
je 0x10001ce3
jmp 0x100014a2
mov eax, dword [ebp - 0xb8]
sub eax, 0xe4b4e4d5
je 0x10001cf2
jmp 0x100014b8
mov eax, dword [ebp - 0xb8]
sub eax, 0xe6f9168e
je 0x100018ad
jmp 0x100014ce
mov eax, dword [ebp - 0xb8]
sub eax, 0xe7e478d3
je 0x1000242b
jmp 0x100014e4
mov eax, dword [ebp - 0xb8]
sub eax, 0xe931f458
je 0x10001e6a
jmp 0x100014fa
mov eax, dword [ebp - 0xb8]
sub eax, 0xf908ac13
je 0x100017c3
jmp 0x10001510
mov eax, dword [ebp - 0xb8]
sub eax, 0xfde4e347
je 0x100024a8
jmp 0x10001526
mov eax, dword [ebp - 0xb8]
sub eax, 0xfea0abb1
je 0x10001eed
jmp 0x1000153c
mov eax, dword [ebp - 0xb8]
sub eax, 0x6bd424f
je 0x10001c4f
jmp 0x10001552
mov eax, dword [ebp - 0xb8]
sub eax, 0xaea5220
je 0x100024f2
jmp 0x10001568
mov eax, dword [ebp - 0xb8]
sub eax, 0xcfe45d0
je 0x10001930
jmp 0x1000157e
mov eax, dword [ebp - 0xb8]
sub eax, 0xdaef966
je 0x10001d0c
jmp 0x10001594
mov eax, dword [ebp - 0xb8]
sub eax, 0xe7b2557
je 0x10001d7c
jmp 0x100015aa
mov eax, dword [ebp - 0xb8]
sub eax, 0x154cdff6
je 0x10001e79
jmp 0x100015c0
mov eax, dword [ebp - 0xb8]
sub eax, 0x20528d20
je 0x10001bec
jmp 0x100015d6
mov eax, dword [ebp - 0xb8]
sub eax, 0x21e4eaaf
je 0x10001b5d
jmp 0x100015ec
mov eax, dword [ebp - 0xb8]
sub eax, 0x3731675f
je 0x100018bc
jmp 0x10001602
mov eax, dword [ebp - 0xb8]
sub eax, 0x4136ae5f
je 0x1000231e
jmp 0x10001618
mov eax, dword [ebp - 0xb8]
sub eax, 0x4b818080
je 0x100021fa
jmp 0x1000162e
mov eax, dword [ebp - 0xb8]
sub eax, 0x53353b57
je 0x1000188f
jmp 0x10001644
mov eax, dword [ebp - 0xb8]
sub eax, 0x61865c1c
je 0x10002175
jmp 0x1000165a
mov eax, dword [ebp - 0xb8]
sub eax, 0x66d51752
je 0x10002507
jmp 0x10001670
mov eax, dword [ebp - 0xb8]
sub eax, 0x6780f094
je 0x10001dfe
jmp 0x10001686
mov eax, dword [ebp - 0xb8]
sub eax, 0x71a706ab
je 0x10001755
jmp 0x1000169c
mov eax, dword [ebp - 0xb8]
sub eax, 0x7369031c
je 0x10001e98
jmp 0x100016b2
mov eax, dword [ebp - 0xb8]
sub eax, 0x766aca52
je 0x10001bbf
jmp 0x100016c8
mov eax, dword [ebp - 0xb8]
sub eax, 0x7ccd2b89
je 0x10001aef
jmp 0x100016de
mov eax, dword [ebp - 0xb8]
sub eax, 0x7d3720ea
je 0x10002525
jmp 0x100016f4
jmp 0x1000256e
push eax
mov eax, esp
mov dword [ebp - 0xa4], eax
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
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
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xb0], 0x71a706ab
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
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, 0xac902c55
mov ecx, 0xf908ac13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x80], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0xa8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000eec0
add esp, 0xc
mov eax, dword [ebp - 0xa8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa4]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x71], al
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
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, 0xac902c55
mov ecx, 0x53353b57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dl, byte [ebp - 0x71]
mov eax, 0xe6f9168e
mov ecx, 0x3731675f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xad4d119b
jmp 0x1000256e
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xb0], 0xc945d5f0
jmp 0x1000256e
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
mov edx, eax
sub edx, 0x5d548b82
sub edx, 1
add edx, 0x5d548b82
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, 0xfde4e347
mov ecx, 0xcfe45d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x18]
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 ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
add edx, 0x4064a157
sub edx, 1
sub edx, 0x4064a157
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, 0xfde4e347
mov ecx, 0x8864ce82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0x8bbee999
jmp 0x1000256e
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
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 - 0x9c]
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 - 0x98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x98]
mov esi, 0xffffffff
mov eax, 0xcae4d414
mov ecx, 0xb17a4d29
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xad4d119b
jmp 0x1000256e
mov eax, dword [ebp - 0x98]
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 - 0x94]
mov dword [eax], ecx
mov dword [ebp - 0xb0], 0x7ccd2b89
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
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, 0xaea5220
mov ecx, 0x21e4eaaf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x94]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
mov edx, eax
add edx, 0x5f63e6dc
sub edx, 1
sub edx, 0x5f63e6dc
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, 0xaea5220
mov ecx, 0x766aca52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0x8468e3b2
jmp 0x1000256e
mov dl, byte [ebp - 0x5d]
mov eax, 0x20528d20
mov ecx, 0xe4b4e4d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xb0], 0x8f6921e1
jmp 0x1000256e
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
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, 0x66d51752
mov ecx, 0x6bd424f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
add edx, 0xb68d8fd8
sub edx, 1
sub edx, 0xb68d8fd8
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, 0x66d51752
mov ecx, 0x9477a460
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xddc88fdb
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xad4d119b
jmp 0x1000256e
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xb0], 0xdaef966
jmp 0x1000256e
mov eax, dword [ebp - 0x58]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xb0], 0xe7b2557
jmp 0x1000256e
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x54]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov word [eax], 0
mov dword [ebp - 0xb0], 0xaf0921bd
jmp 0x1000256e
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
mov edx, eax
sub edx, 0x76377264
sub edx, 1
add edx, 0x76377264
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, 0x7d3720ea
mov ecx, 0x6780f094
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x84]
movzx eax, word [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x48], eax
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
mov edx, eax
add edx, 0x50f5b392
sub edx, 1
sub edx, 0x50f5b392
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, 0x7d3720ea
mov ecx, 0xe931f458
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0x154cdff6
jmp 0x1000256e
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x41], al
mov dword [ebp - 0xb0], 0x7369031c
jmp 0x1000256e
mov dl, byte [ebp - 0x41]
mov eax, 0xa0002b08
mov ecx, 0xcbc7e3cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xb0], 0xfea0abb1
jmp 0x1000256e
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax + 0x10]
mov eax, dword [ebp - 0x40]
sub eax, 0xe8cb1d54
add eax, ecx
add eax, 0xe8cb1d54
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x84]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xb0], 0xace4acd6
jmp 0x1000256e
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub ecx, 0x5647c309
add ecx, eax
add ecx, 0x5647c309
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001b3b0
call fcn.10011230
add esp, 8
mov edx, eax
mov eax, 0x84f1f320
mov ecx, 0x833bfcfb
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x7c]
mov dword [eax], 0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x3cae7606
add edx, eax
add edx, 0x3cae7606
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov byte [eax], cl
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xb0], 0x82ea01cb
jmp 0x1000256e
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000f020
add esp, 0xc
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xa0]
mov esi, dword [eax]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xe5e94125
add esi, eax
add esi, 0xe5e94125
mov eax, dword [ebp - 0x7c]
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 - 0x21], al
mov dword [ebp - 0xb0], 0xb4d77c96
jmp 0x1000256e
mov cl, byte [ebp - 0x21]
and cl, 1
mov eax, dword [ebp - 0x78]
mov byte [eax], cl
mov dword [ebp - 0xb0], 0x833bfcfb
jmp 0x1000256e
mov eax, dword [0x10099948]
mov ecx, dword [0x10099944]
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, 0xdb2bf317
mov ecx, 0xa61d74ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
sub edx, 0x2a300a6c
sub edx, 1
add edx, 0x2a300a6c
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, 0xdb2bf317
mov ecx, 0x61865c1c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xccaef7e0
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
sub edx, 0xe97a94de
sub edx, 1
add edx, 0xe97a94de
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, 0x8120f67d
mov ecx, 0x4b818080
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov eax, dword [ebp - 0x84]
mov ax, word [eax]
mov word [ebp - 0x20], ax
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
add edx, 0x87c2473c
sub edx, 1
sub edx, 0x87c2473c
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, 0x8120f67d
mov ecx, 0x9e240a58
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xd0294904
jmp 0x1000256e
mov ax, word [ebp - 0x20]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x1e], ax
mov dword [ebp - 0xb0], 0xc7882e91
jmp 0x1000256e
mov eax, dword [ebp - 0x84]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0xb0], 0xaf0921bd
jmp 0x1000256e
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xb0], 0x907356b4
jmp 0x1000256e
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb0], 0x4136ae5f
jmp 0x1000256e
mov eax, dword [ebp - 0xac]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb0], 0xad4d119b
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
sub edx, 0xfecfacc
sub edx, 1
add edx, 0xfecfacc
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, 0xa8f82d1e
mov ecx, 0xcbffb3b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov ecx, dword [0x10099948]
mov eax, dword [0x10099944]
mov edx, ecx
add edx, 0xb4807ff9
sub edx, 1
sub edx, 0xb4807ff9
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, 0xa8f82d1e
mov ecx, 0xe7e478d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000256e
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000e2c0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xa8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000eec0
add esp, 0xc
mov eax, dword [ebp - 0xa8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb0], 0xf908ac13
jmp 0x1000256e
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x18]
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 ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb0], 0xcfe45d0
jmp 0x1000256e
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xb0], 0x21e4eaaf
jmp 0x1000256e
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb0], 0x6bd424f
jmp 0x1000256e
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xb0], 0x6780f094
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xa61d74ed
jmp 0x1000256e
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xb0], 0x4b818080
jmp 0x1000256e
mov dword [ebp - 0xb0], 0xcbffb3b9
jmp 0x10001208