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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x1006c800]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8c], 0x4b58701
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x82644ef9
je 0x10001d80
jmp 0x100011f4
mov eax, dword [ebp - 0x94]
sub eax, 0x85264e6c
je 0x10002ad9
jmp 0x1000120a
mov eax, dword [ebp - 0x94]
sub eax, 0x855e9f02
je 0x100021be
jmp 0x10001220
mov eax, dword [ebp - 0x94]
sub eax, 0x872fdd56
je 0x10002681
jmp 0x10001236
mov eax, dword [ebp - 0x94]
sub eax, 0x873b44c6
je 0x10002944
jmp 0x1000124c
mov eax, dword [ebp - 0x94]
sub eax, 0x87eb47b8
je 0x10002b39
jmp 0x10001262
mov eax, dword [ebp - 0x94]
sub eax, 0x89ef1498
je 0x1000231f
jmp 0x10001278
mov eax, dword [ebp - 0x94]
sub eax, 0x90e2d91c
je 0x10002766
jmp 0x1000128e
mov eax, dword [ebp - 0x94]
sub eax, 0x9577e546
je 0x100029e9
jmp 0x100012a4
mov eax, dword [ebp - 0x94]
sub eax, 0x968b6cc5
je 0x10001c8c
jmp 0x100012ba
mov eax, dword [ebp - 0x94]
sub eax, 0x99b09253
je 0x10002123
jmp 0x100012d0
mov eax, dword [ebp - 0x94]
sub eax, 0xa2ed8caa
je 0x10002935
jmp 0x100012e6
mov eax, dword [ebp - 0x94]
sub eax, 0xae53d4f7
je 0x1000262e
jmp 0x100012fc
mov eax, dword [ebp - 0x94]
sub eax, 0xb10b7e4b
je 0x10001d71
jmp 0x10001312
mov eax, dword [ebp - 0x94]
sub eax, 0xb3de6465
je 0x10002690
jmp 0x10001328
mov eax, dword [ebp - 0x94]
sub eax, 0xb42d1698
je 0x10002148
jmp 0x1000133e
mov eax, dword [ebp - 0x94]
sub eax, 0xb63ba59e
je 0x10001d53
jmp 0x10001354
mov eax, dword [ebp - 0x94]
sub eax, 0xb69589fe
je 0x10001e43
jmp 0x1000136a
mov eax, dword [ebp - 0x94]
sub eax, 0xbf03468c
je 0x100025ce
jmp 0x10001380
mov eax, dword [ebp - 0x94]
sub eax, 0xc4409ac9
je 0x10001fff
jmp 0x10001396
mov eax, dword [ebp - 0x94]
sub eax, 0xc4a7d8f4
je 0x100028b0
jmp 0x100013ac
mov eax, dword [ebp - 0x94]
sub eax, 0xc7373bdc
je 0x1000210b
jmp 0x100013c2
mov eax, dword [ebp - 0x94]
sub eax, 0xc97b96c2
je 0x1000200e
jmp 0x100013d8
mov eax, dword [ebp - 0x94]
sub eax, 0xcb08b602
je 0x10001f0c
jmp 0x100013ee
mov eax, dword [ebp - 0x94]
sub eax, 0xd1ab38ae
je 0x1000282b
jmp 0x10001404
mov eax, dword [ebp - 0x94]
sub eax, 0xd91ba2a5
je 0x10001af8
jmp 0x1000141a
mov eax, dword [ebp - 0x94]
sub eax, 0xe2b663dc
je 0x10002aa6
jmp 0x10001430
mov eax, dword [ebp - 0x94]
sub eax, 0xe5aee6dc
je 0x100029d7
jmp 0x10001446
mov eax, dword [ebp - 0x94]
sub eax, 0xe78f0e79
je 0x10002955
jmp 0x1000145c
mov eax, dword [ebp - 0x94]
sub eax, 0xf129b97c
je 0x10002383
jmp 0x10001472
mov eax, dword [ebp - 0x94]
sub eax, 0xf219f88e
je 0x10001dcd
jmp 0x10001488
mov eax, dword [ebp - 0x94]
sub eax, 0xf74f3138
je 0x10002989
jmp 0x1000149e
mov eax, dword [ebp - 0x94]
sub eax, 0xf8ade984
je 0x100027b7
jmp 0x100014b4
mov eax, dword [ebp - 0x94]
sub eax, 0xff6f1d03
je 0x100022a3
jmp 0x100014ca
mov eax, dword [ebp - 0x94]
sub eax, 0x33c47b2
je 0x10001acb
jmp 0x100014e0
mov eax, dword [ebp - 0x94]
sub eax, 0x344e562
je 0x1000199d
jmp 0x100014f6
mov eax, dword [ebp - 0x94]
sub eax, 0x4b58701
je 0x10001855
jmp 0x1000150c
mov eax, dword [ebp - 0x94]
sub eax, 0x52e2de8
je 0x10002547
jmp 0x10001522
mov eax, dword [ebp - 0x94]
sub eax, 0x74a712c
je 0x100029f8
jmp 0x10001538
mov eax, dword [ebp - 0x94]
sub eax, 0x90b7be4
je 0x10002a53
jmp 0x1000154e
mov eax, dword [ebp - 0x94]
sub eax, 0x195205de
je 0x10001ed7
jmp 0x10001564
mov eax, dword [ebp - 0x94]
sub eax, 0x198f588f
je 0x10001cdd
jmp 0x1000157a
mov eax, dword [ebp - 0x94]
sub eax, 0x1ba28c6b
je 0x1000234d
jmp 0x10001590
mov eax, dword [ebp - 0x94]
sub eax, 0x1d52e9b7
je 0x10002a82
jmp 0x100015a6
mov eax, dword [ebp - 0x94]
sub eax, 0x1da65b12
je 0x100025dd
jmp 0x100015bc
mov eax, dword [ebp - 0x94]
sub eax, 0x1daf1347
je 0x1000220f
jmp 0x100015d2
mov eax, dword [ebp - 0x94]
sub eax, 0x1f4f57d4
je 0x1000222d
jmp 0x100015e8
mov eax, dword [ebp - 0x94]
sub eax, 0x258658cc
je 0x10002757
jmp 0x100015fe
mov eax, dword [ebp - 0x94]
sub eax, 0x313ce34c
je 0x1000198e
jmp 0x10001614
mov eax, dword [ebp - 0x94]
sub eax, 0x32b5afe1
je 0x10002b04
jmp 0x1000162a
mov eax, dword [ebp - 0x94]
sub eax, 0x3343e137
je 0x1000207c
jmp 0x10001640
mov eax, dword [ebp - 0x94]
sub eax, 0x37547002
je 0x100018cb
jmp 0x10001656
mov eax, dword [ebp - 0x94]
sub eax, 0x38628acd
je 0x100026e1
jmp 0x1000166c
mov eax, dword [ebp - 0x94]
sub eax, 0x3887953f
je 0x100020e5
jmp 0x10001682
mov eax, dword [ebp - 0x94]
sub eax, 0x3943a24b
je 0x100024b8
jmp 0x10001698
mov eax, dword [ebp - 0x94]
sub eax, 0x3b279629
je 0x100020f4
jmp 0x100016ae
mov eax, dword [ebp - 0x94]
sub eax, 0x3c62f20d
je 0x10002310
jmp 0x100016c4
mov eax, dword [ebp - 0x94]
sub eax, 0x40cd3351
je 0x100024d1
jmp 0x100016da
mov eax, dword [ebp - 0x94]
sub eax, 0x41b269be
je 0x100024a9
jmp 0x100016f0
mov eax, dword [ebp - 0x94]
sub eax, 0x46dfcf6e
je 0x10002a07
jmp 0x10001706
mov eax, dword [ebp - 0x94]
sub eax, 0x4a9304dd
je 0x10002a91
jmp 0x1000171c
mov eax, dword [ebp - 0x94]
sub eax, 0x4f31737f
je 0x10001eee
jmp 0x10001732
mov eax, dword [ebp - 0x94]
sub eax, 0x531d7a53
je 0x10002af2
jmp 0x10001748
mov eax, dword [ebp - 0x94]
sub eax, 0x534ea43d
je 0x100023e0
jmp 0x1000175e
mov eax, dword [ebp - 0x94]
sub eax, 0x545b2ef9
je 0x10001bac
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0x668d25ad
sub edx, 1
sub edx, 0x668d25ad
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, 0xe78f0e79
mov ecx, 0x37547002
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x90]
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
sub esp, 0xc
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
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 - 0x88], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
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, 0xe78f0e79
mov ecx, 0x313ce34c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x344e562
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0x32cf4f84
sub edx, 1
sub edx, 0x32cf4f84
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, 0xf74f3138
mov ecx, 0x65ce868d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dl, byte [ebp - 0x49]
mov eax, 0x5d34e58a
mov ecx, 0xd91ba2a5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
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 eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x8c], 0x545b2ef9
jmp 0x10002b52
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
mov edx, eax
add edx, 0xea41df8c
sub edx, 1
sub edx, 0xea41df8c
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, 0x9577e546
mov ecx, 0x198f588f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0x3cdfeda7
sub edx, 1
sub edx, 0x3cdfeda7
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, 0x9577e546
mov ecx, 0xb63ba59e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dl, byte [ebp - 0x41]
mov eax, 0x82644ef9
mov ecx, 0xb10b7e4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x873b44c6
jmp 0x10002b52
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 - 0x40], eax
mov dword [ebp - 0x8c], 0xf219f88e
jmp 0x10002b52
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0x8c], 0x7eaf0a65
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0xa1f9ca13
sub edx, 1
sub edx, 0xa1f9ca13
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, 0x74a712c
mov ecx, 0x7d740c91
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x8c], 0x4f31737f
jmp 0x10002b52
mov eax, dword [ebp - 0x38]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xcb08b602
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x873b44c6
jmp 0x10002b52
mov dword [ebp - 0x8c], 0xc97b96c2
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
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, 0x90b7be4
mov ecx, 0x3343e137
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
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, 0x90b7be4
mov ecx, 0x3887953f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x3b279629
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x8c], 0xc7373bdc
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8c], 0x99b09253
jmp 0x10002b52
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x8c], 0xb42d1698
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
sub edx, 0xbc5b18d2
sub edx, 1
add edx, 0xbc5b18d2
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, 0x1d52e9b7
mov ecx, 0x855e9f02
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
mov edx, eax
add edx, 0xcce5b2a5
sub edx, 1
sub edx, 0xcce5b2a5
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, 0x1d52e9b7
mov ecx, 0x1daf1347
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dl, byte [ebp - 0x29]
mov eax, 0xb3de6465
mov ecx, 0x1f4f57d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
sub edx, 0xf0efccde
sub edx, 1
add edx, 0xf0efccde
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, 0x4a9304dd
mov ecx, 0xff6f1d03
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
sub eax, 0xe6e74ecb
add eax, 0x18
add eax, 0xe6e74ecb
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
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, 0x4a9304dd
mov ecx, 0x3c62f20d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x89ef1498
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul edx, eax, 0x28
mov ecx, dword [ebp - 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 - 0x24], eax
mov dword [ebp - 0x8c], 0x1ba28c6b
jmp 0x10002b52
mov ecx, dword [ebp - 0x24]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001d3b0
call fcn.10013a50
add esp, 8
mov edx, eax
mov eax, 0xf129b97c
mov ecx, 0x41b269be
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x54]
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 al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x8c], 0x534ea43d
jmp 0x10002b52
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x1d]
mov byte [eax], cl
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, 0x2750fafa
add edx, eax
add edx, 0x2750fafa
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 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.10011840
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x7a5f122f
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x3943a24b
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov dword [ebp - 0x8c], 0x40cd3351
jmp 0x10002b52
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0xae9f711f
sub edx, 1
sub edx, 0xae9f711f
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, 0xe2b663dc
mov ecx, 0x52e2de8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov ax, word [ebp - 0x18]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x16], ax
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0xd422992e
sub edx, 1
sub edx, 0xd422992e
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, 0xe2b663dc
mov ecx, 0xbf03468c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x1da65b12
jmp 0x10002b52
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
mov edx, eax
add edx, 0x6f925afd
sub edx, 1
sub edx, 0x6f925afd
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, 0x85264e6c
mov ecx, 0xae53d4f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
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, 0x85264e6c
mov ecx, 0x872fdd56
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0xc7373bdc
jmp 0x10002b52
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
mov edx, eax
sub edx, 0x4e0b7925
sub edx, 1
add edx, 0x4e0b7925
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, 0x531d7a53
mov ecx, 0x38628acd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
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, 0x531d7a53
mov ecx, 0x258658cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x90e2d91c
jmp 0x10002b52
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
mov edx, eax
sub edx, 0x601077d2
sub edx, 1
add edx, 0x601077d2
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, 0x32b5afe1
mov ecx, 0xf8ade984
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [0x1006db40]
mov ecx, dword [0x1006db3c]
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, 0x32b5afe1
mov ecx, 0xd1ab38ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x5c65fd4d
jmp 0x10002b52
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006db40]
mov eax, dword [0x1006db3c]
mov edx, ecx
add edx, 0x726347f6
sub edx, 1
sub edx, 0x726347f6
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, 0x87eb47b8
mov ecx, 0xa2ed8caa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x873b44c6
jmp 0x10002b52
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10010ae0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x90]
push eax
mov ecx, esp
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x88], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x37547002
jmp 0x10002b52
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100116e0
add esp, 0xc
mov eax, dword [ebp - 0x88]
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 eax, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], 0x65ce868d
jmp 0x10002b52
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x8c], 0x6907834b
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x198f588f
jmp 0x10002b52
mov dword [ebp - 0x8c], 0xb69589fe
jmp 0x10002b52
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 dword [ebp - 0x8c], 0x6bd3d95e
jmp 0x10002b52
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x3343e137
jmp 0x10002b52
mov dword [ebp - 0x8c], 0x855e9f02
jmp 0x10002b52
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x8c], 0xff6f1d03
jmp 0x10002b52
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov dword [ebp - 0x8c], 0x52e2de8
jmp 0x10002b52
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x8c], 0xae53d4f7
jmp 0x10002b52
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x8c], 0x38628acd
jmp 0x10002b52
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], 0xf8ade984
jmp 0x10002b52
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xc4a7d8f4
jmp 0x100011d8