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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x88
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x1009a600]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x88], 0x1bbb8a72
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
sub eax, 0x805aa5fd
je 0x100023b6
jmp 0x100010f4
mov eax, dword [ebp - 0x90]
sub eax, 0x881b9433
je 0x10001da3
jmp 0x1000110a
mov eax, dword [ebp - 0x90]
sub eax, 0x8e5edee7
je 0x10002284
jmp 0x10001120
mov eax, dword [ebp - 0x90]
sub eax, 0x92bdfa71
je 0x10002142
jmp 0x10001136
mov eax, dword [ebp - 0x90]
sub eax, 0x94d4aceb
je 0x100028f6
jmp 0x1000114c
mov eax, dword [ebp - 0x90]
sub eax, 0x9f73e366
je 0x100017db
jmp 0x10001162
mov eax, dword [ebp - 0x90]
sub eax, 0xa38d68ea
je 0x10002772
jmp 0x10001178
mov eax, dword [ebp - 0x90]
sub eax, 0xa96437a8
je 0x100026f8
jmp 0x1000118e
mov eax, dword [ebp - 0x90]
sub eax, 0xaaa0b9fb
je 0x10001a9c
jmp 0x100011a4
mov eax, dword [ebp - 0x90]
sub eax, 0xac458e66
je 0x10001ba5
jmp 0x100011ba
mov eax, dword [ebp - 0x90]
sub eax, 0xafabe025
je 0x10002029
jmp 0x100011d0
mov eax, dword [ebp - 0x90]
sub eax, 0xb033ec10
je 0x10001b45
jmp 0x100011e6
mov eax, dword [ebp - 0x90]
sub eax, 0xb27498f4
je 0x10001a0d
jmp 0x100011fc
mov eax, dword [ebp - 0x90]
sub eax, 0xb33e2d11
je 0x10002850
jmp 0x10001212
mov eax, dword [ebp - 0x90]
sub eax, 0xb86254ad
je 0x10002133
jmp 0x10001228
mov eax, dword [ebp - 0x90]
sub eax, 0xb973a10e
je 0x10001997
jmp 0x1000123e
mov eax, dword [ebp - 0x90]
sub eax, 0xc07d2491
je 0x100017a7
jmp 0x10001254
mov eax, dword [ebp - 0x90]
sub eax, 0xc2f6d3d0
je 0x10001c47
jmp 0x1000126a
mov eax, dword [ebp - 0x90]
sub eax, 0xc4bd0c10
je 0x10001f60
jmp 0x10001280
mov eax, dword [ebp - 0x90]
sub eax, 0xc590f0aa
je 0x10001e6d
jmp 0x10001296
mov eax, dword [ebp - 0x90]
sub eax, 0xc68595b9
je 0x1000256e
jmp 0x100012ac
mov eax, dword [ebp - 0x90]
sub eax, 0xcfe3d030
je 0x10002596
jmp 0x100012c2
mov eax, dword [ebp - 0x90]
sub eax, 0xd14a4c55
je 0x10002348
jmp 0x100012d8
mov eax, dword [ebp - 0x90]
sub eax, 0xd71f92a0
je 0x100027d3
jmp 0x100012ee
mov eax, dword [ebp - 0x90]
sub eax, 0xda8f9702
je 0x100024b2
jmp 0x10001304
mov eax, dword [ebp - 0x90]
sub eax, 0xdad5532c
je 0x10001d2d
jmp 0x1000131a
mov eax, dword [ebp - 0x90]
sub eax, 0xe139584a
je 0x10002339
jmp 0x10001330
mov eax, dword [ebp - 0x90]
sub eax, 0xea699f48
je 0x10001c29
jmp 0x10001346
mov eax, dword [ebp - 0x90]
sub eax, 0xf1465846
je 0x1000182a
jmp 0x1000135c
mov eax, dword [ebp - 0x90]
sub eax, 0xf1487fa7
je 0x10001aab
jmp 0x10001372
mov eax, dword [ebp - 0x90]
sub eax, 0xf440f1b4
je 0x100017ea
jmp 0x10001388
mov eax, dword [ebp - 0x90]
sub eax, 0xf4c1faa1
je 0x10002696
jmp 0x1000139e
mov eax, dword [ebp - 0x90]
sub eax, 0xf5b79bc2
je 0x10001b54
jmp 0x100013b4
mov eax, dword [ebp - 0x90]
sub eax, 0xff4c40f5
je 0x1000255f
jmp 0x100013ca
mov eax, dword [ebp - 0x90]
sub eax, 0x36fe95c
je 0x10002038
jmp 0x100013e0
mov eax, dword [ebp - 0x90]
sub eax, 0x6e3176b
je 0x100027e5
jmp 0x100013f6
mov eax, dword [ebp - 0x90]
sub eax, 0x1a7157db
je 0x100025f8
jmp 0x1000140c
mov eax, dword [ebp - 0x90]
sub eax, 0x1bbb8a72
je 0x10001713
jmp 0x10001422
mov eax, dword [ebp - 0x90]
sub eax, 0x22d02c56
je 0x1000257d
jmp 0x10001438
mov eax, dword [ebp - 0x90]
sub eax, 0x241f6194
je 0x100027f7
jmp 0x1000144e
mov eax, dword [ebp - 0x90]
sub eax, 0x27a244e8
je 0x10002619
jmp 0x10001464
mov eax, dword [ebp - 0x90]
sub eax, 0x27deea38
je 0x10002503
jmp 0x1000147a
mov eax, dword [ebp - 0x90]
sub eax, 0x2884045b
je 0x100026e7
jmp 0x10001490
mov eax, dword [ebp - 0x90]
sub eax, 0x2894bb33
je 0x10001c98
jmp 0x100014a6
mov eax, dword [ebp - 0x90]
sub eax, 0x2aab3664
je 0x1000285f
jmp 0x100014bc
mov eax, dword [ebp - 0x90]
sub eax, 0x2fc26e71
je 0x10001988
jmp 0x100014d2
mov eax, dword [ebp - 0x90]
sub eax, 0x3229e78c
je 0x10001cf1
jmp 0x100014e8
mov eax, dword [ebp - 0x90]
sub eax, 0x3357fecd
je 0x100025b8
jmp 0x100014fe
mov eax, dword [ebp - 0x90]
sub eax, 0x3767cea8
je 0x10001d00
jmp 0x10001514
mov eax, dword [ebp - 0x90]
sub eax, 0x379c59d4
je 0x100021f0
jmp 0x1000152a
mov eax, dword [ebp - 0x90]
sub eax, 0x3b59a333
je 0x1000196a
jmp 0x10001540
mov eax, dword [ebp - 0x90]
sub eax, 0x43670def
je 0x1000195b
jmp 0x10001556
mov eax, dword [ebp - 0x90]
sub eax, 0x4a3862a7
je 0x10001e7c
jmp 0x1000156c
mov eax, dword [ebp - 0x90]
sub eax, 0x4ab6bd63
je 0x100027bc
jmp 0x10001582
mov eax, dword [ebp - 0x90]
sub eax, 0x4f48f83d
je 0x10001af4
jmp 0x10001598
mov eax, dword [ebp - 0x90]
sub eax, 0x5815d899
je 0x10001fb1
jmp 0x100015ae
mov eax, dword [ebp - 0x90]
sub eax, 0x58e31397
je 0x10001f51
jmp 0x100015c4
mov eax, dword [ebp - 0x90]
sub eax, 0x5b188556
je 0x1000289d
jmp 0x100015da
mov eax, dword [ebp - 0x90]
sub eax, 0x5baeaef4
je 0x10002628
jmp 0x100015f0
mov eax, dword [ebp - 0x90]
sub eax, 0x5c2fa0bb
je 0x1000235d
jmp 0x10001606
mov eax, dword [ebp - 0x90]
sub eax, 0x5d12a664
je 0x10002871
jmp 0x1000161c
mov eax, dword [ebp - 0x90]
sub eax, 0x5d578726
je 0x1000218b
jmp 0x10001632
mov eax, dword [ebp - 0x90]
sub eax, 0x60d4e135
je 0x10001873
jmp 0x10001648
mov eax, dword [ebp - 0x90]
sub eax, 0x6ccf1ecb
je 0x10002887
jmp 0x1000165e
mov eax, dword [ebp - 0x90]
sub eax, 0x6f285635
je 0x10002393
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x80], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x84], 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.1000c130
add esp, 0xc
mov dword [ebp - 0x88], 0xc07d2491
jmp 0x1000291a
mov eax, dword [ebp - 0x80]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0x9f73e366
mov ecx, 0xf440f1b4
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x5baeaef4
jmp 0x1000291a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x84]
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 - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x88], 0xf1465846
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
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, 0xa96437a8
mov ecx, 0x60d4e135
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x49], al
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
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, 0xa96437a8
mov ecx, 0x43670def
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x3b59a333
jmp 0x1000291a
mov dl, byte [ebp - 0x49]
mov eax, 0xb973a10e
mov ecx, 0x2fc26e71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x5baeaef4
jmp 0x1000291a
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
sub edx, 0x1d5dd139
sub edx, 1
add edx, 0x1d5dd139
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, 0xa38d68ea
mov ecx, 0xb27498f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x70]
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 - 0x48], eax
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
add edx, 0xd8244007
sub edx, 1
sub edx, 0xd8244007
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, 0xa38d68ea
mov ecx, 0xaaa0b9fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0xf1487fa7
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
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, 0x4ab6bd63
mov ecx, 0x4f48f83d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
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, 0x4ab6bd63
mov ecx, 0xb033ec10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0xf5b79bc2
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0x8d2e9c11
sub edx, 1
add edx, 0x8d2e9c11
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, 0xd71f92a0
mov ecx, 0xac458e66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
sub edx, 0xfea6a078
sub edx, 1
add edx, 0xfea6a078
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, 0xd71f92a0
mov ecx, 0xea699f48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dl, byte [ebp - 0x41]
mov eax, 0xc2f6d3d0
mov ecx, 0xdad5532c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0x3f76b935
sub edx, 1
add edx, 0x3f76b935
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, 0x6e3176b
mov ecx, 0x2894bb33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
add edx, 0xe1ce8e3f
sub edx, 1
sub edx, 0xe1ce8e3f
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, 0x6e3176b
mov ecx, 0x3229e78c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x3767cea8
jmp 0x1000291a
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x88], 0x7ab58382
jmp 0x1000291a
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
add edx, 0xc0064f22
sub edx, 1
sub edx, 0xc0064f22
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, 0x241f6194
mov ecx, 0x881b9433
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
add edx, 0x1941b85b
sub edx, 1
sub edx, 0x1941b85b
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, 0x241f6194
mov ecx, 0xc590f0aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x4a3862a7
jmp 0x1000291a
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x210829c8
add ecx, eax
sub ecx, 0x210829c8
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x88], 0x7dc0bd92
jmp 0x1000291a
mov dword [ebp - 0x88], 0xc4bd0c10
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
add edx, 0x48e1eb3d
sub edx, 1
sub edx, 0x48e1eb3d
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, 0x2aab3664
mov ecx, 0x5815d899
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x32], ax
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
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, 0x2aab3664
mov ecx, 0xafabe025
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x36fe95c
jmp 0x1000291a
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
add edx, 0xcd9d770a
sub edx, 1
sub edx, 0xcd9d770a
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, 0x5d12a664
mov ecx, 0x77e84206
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0x92bdfa71
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
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, 0x6ccf1ecb
mov ecx, 0x5d578726
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov ax, word [ebp - 0x2c]
movzx ecx, ax
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0xee7757e
sub edx, 1
add edx, 0xee7757e
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, 0x6ccf1ecb
mov ecx, 0x379c59d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dl, byte [ebp - 0x29]
mov eax, 0x70f4d17d
mov ecx, 0x7e3dab92
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0x18
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
sub ecx, 0xedf08337
add ecx, eax
add ecx, 0xedf08337
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
mov edx, ecx
sub edx, 0x4e06cf24
sub edx, 1
add edx, 0x4e06cf24
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, 0x5b188556
mov ecx, 0xe139584a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0xd14a4c55
jmp 0x1000291a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x88], 0x5c2fa0bb
jmp 0x1000291a
mov ecx, dword [ebp - 0x24]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e4a0
add esp, 8
mov edx, eax
mov eax, 0x6f285635
mov ecx, 0xc68595b9
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x7f075ab5
add edx, eax
add edx, 0x7f075ab5
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x20]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
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 edx, edx
sub edx, eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xb9bf969c
add ecx, eax
add ecx, 0xb9bf969c
mov eax, dword [ebp - 0x58]
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.1000c290
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xe68479ca
add esi, eax
add esi, 0xe68479ca
mov eax, dword [ebp - 0x54]
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 dword [ebp - 0x88], 0xda8f9702
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0xc8321392
sub edx, 1
add edx, 0xc8321392
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, 0x94d4aceb
mov ecx, 0x27deea38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov cl, byte [ebp - 0x1b]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0xc7cae91c
sub edx, 1
add edx, 0xc7cae91c
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, 0x94d4aceb
mov ecx, 0xff4c40f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov dword [ebp - 0x88], 0xc68595b9
jmp 0x1000291a
mov dword [ebp - 0x88], 0x22d02c56
jmp 0x1000291a
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x88], 0xcfe3d030
jmp 0x1000291a
mov cx, word [ebp - 0x1a]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x88], 0x3357fecd
jmp 0x1000291a
mov dword [ebp - 0x88], 0xc4bd0c10
jmp 0x1000291a
mov eax, dword [ebp - 0x84]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x88], 0x27a244e8
jmp 0x1000291a
mov dword [ebp - 0x88], 0x5baeaef4
jmp 0x1000291a
mov ecx, dword [0x1009b940]
mov eax, dword [0x1009b93c]
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, 0x7679a0ae
mov ecx, 0xf4c1faa1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov eax, dword [0x1009b940]
mov ecx, dword [0x1009b93c]
mov edx, eax
sub edx, 0xe706441f
sub edx, 1
add edx, 0xe706441f
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, 0x7679a0ae
mov ecx, 0x2884045b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x88], eax
jmp 0x1000291a
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000b530
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x88], 0x60d4e135
jmp 0x1000291a
mov eax, dword [ebp - 0x70]
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 - 0x88], 0xb27498f4
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov dword [ebp - 0x88], 0x4f48f83d
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x88], 0xac458e66
jmp 0x1000291a
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x88], 0x2894bb33
jmp 0x1000291a
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x88], 0x881b9433
jmp 0x1000291a
mov dword [ebp - 0x88], 0x7c5a45e5
jmp 0x1000291a
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88], 0x5815d899
jmp 0x1000291a
mov ax, word [ebp - 0x32]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x88], 0x77e84206
jmp 0x1000291a
mov ax, word [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x88], 0x5d578726
jmp 0x1000291a
mov eax, dword [ebp - 0x60]
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 - 0x60]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0x9e47ed3b
add ecx, eax
sub ecx, 0x9e47ed3b
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xe2f8c93c
add ecx, eax
sub ecx, 0xe2f8c93c
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x88], 0x8e5edee7
jmp 0x1000291a
mov cl, byte [ebp - 0x1b]
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x88], 0x27deea38
jmp 0x1000291a
jmp 0x100010d8