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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x8c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x100a4200]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8c], 0xc9d1243
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x85c163de
je 0x1000180a
jmp 0x100010e4
mov eax, dword [ebp - 0x94]
sub eax, 0x86f3fd37
je 0x10002313
jmp 0x100010fa
mov eax, dword [ebp - 0x94]
sub eax, 0x870c0d26
je 0x10002138
jmp 0x10001110
mov eax, dword [ebp - 0x94]
sub eax, 0x94538fd4
je 0x1000171c
jmp 0x10001126
mov eax, dword [ebp - 0x94]
sub eax, 0x96860701
je 0x1000201e
jmp 0x1000113c
mov eax, dword [ebp - 0x94]
sub eax, 0x9c62e1c2
je 0x10002245
jmp 0x10001152
mov eax, dword [ebp - 0x94]
sub eax, 0x9edbe02a
je 0x10001b9b
jmp 0x10001168
mov eax, dword [ebp - 0x94]
sub eax, 0xa29e7a56
je 0x1000202d
jmp 0x1000117e
mov eax, dword [ebp - 0x94]
sub eax, 0xa471db8d
je 0x100023b7
jmp 0x10001194
mov eax, dword [ebp - 0x94]
sub eax, 0xa5d9a7ab
je 0x10001d27
jmp 0x100011aa
mov eax, dword [ebp - 0x94]
sub eax, 0xa6c15727
je 0x1000221d
jmp 0x100011c0
mov eax, dword [ebp - 0x94]
sub eax, 0xa9a132f4
je 0x100021bd
jmp 0x100011d6
mov eax, dword [ebp - 0x94]
sub eax, 0xaaa778d5
je 0x10001d36
jmp 0x100011ec
mov eax, dword [ebp - 0x94]
sub eax, 0xae1cc32d
je 0x1000179c
jmp 0x10001202
mov eax, dword [ebp - 0x94]
sub eax, 0xb37a5525
je 0x10002296
jmp 0x10001218
mov eax, dword [ebp - 0x94]
sub eax, 0xb6f0792d
je 0x10002469
jmp 0x1000122e
mov eax, dword [ebp - 0x94]
sub eax, 0xbf718256
je 0x10001f24
jmp 0x10001244
mov eax, dword [ebp - 0x94]
sub eax, 0xc3f849df
je 0x1000199d
jmp 0x1000125a
mov eax, dword [ebp - 0x94]
sub eax, 0xc4176d78
je 0x10001c38
jmp 0x10001270
mov eax, dword [ebp - 0x94]
sub eax, 0xc8b4c0ab
je 0x10001922
jmp 0x10001286
mov eax, dword [ebp - 0x94]
sub eax, 0xd058788d
je 0x10001baa
jmp 0x1000129c
mov eax, dword [ebp - 0x94]
sub eax, 0xe14da0fa
je 0x1000188e
jmp 0x100012b2
mov eax, dword [ebp - 0x94]
sub eax, 0xe811e55d
je 0x1000220e
jmp 0x100012c8
mov eax, dword [ebp - 0x94]
sub eax, 0xe81cf98c
je 0x10001a82
jmp 0x100012de
mov eax, dword [ebp - 0x94]
sub eax, 0xebb4af37
je 0x10001e99
jmp 0x100012f4
mov eax, dword [ebp - 0x94]
sub eax, 0xf027d0e7
je 0x10002147
jmp 0x1000130a
mov eax, dword [ebp - 0x94]
sub eax, 0xf3a6e299
je 0x10001d74
jmp 0x10001320
mov eax, dword [ebp - 0x94]
sub eax, 0xf70f8f04
je 0x10001d50
jmp 0x10001336
mov eax, dword [ebp - 0x94]
sub eax, 0xfa148259
je 0x10002354
jmp 0x1000134c
mov eax, dword [ebp - 0x94]
sub eax, 0x3caac54
je 0x10001b25
jmp 0x10001362
mov eax, dword [ebp - 0x94]
sub eax, 0x542ad4b
je 0x100020c0
jmp 0x10001378
mov eax, dword [ebp - 0x94]
sub eax, 0x92394b1
je 0x10001cc5
jmp 0x1000138e
mov eax, dword [ebp - 0x94]
sub eax, 0xc13d350
je 0x10002322
jmp 0x100013a4
mov eax, dword [ebp - 0x94]
sub eax, 0xc9d1243
je 0x100015fb
jmp 0x100013ba
mov eax, dword [ebp - 0x94]
sub eax, 0x1a2b3a12
je 0x10001dd1
jmp 0x100013d0
mov eax, dword [ebp - 0x94]
sub eax, 0x1c7588ca
je 0x1000187f
jmp 0x100013e6
mov eax, dword [ebp - 0x94]
sub eax, 0x1f81c235
je 0x100023cc
jmp 0x100013fc
mov eax, dword [ebp - 0x94]
sub eax, 0x21385700
je 0x10002363
jmp 0x10001412
mov eax, dword [ebp - 0x94]
sub eax, 0x241ce236
je 0x10001eae
jmp 0x10001428
mov eax, dword [ebp - 0x94]
sub eax, 0x261baa9e
je 0x10002343
jmp 0x1000143e
mov eax, dword [ebp - 0x94]
sub eax, 0x283a1d03
je 0x10002396
jmp 0x10001454
mov eax, dword [ebp - 0x94]
sub eax, 0x2c30a4a3
je 0x1000177c
jmp 0x1000146a
mov eax, dword [ebp - 0x94]
sub eax, 0x2f0d9629
je 0x10001931
jmp 0x10001480
mov eax, dword [ebp - 0x94]
sub eax, 0x2fdc5360
je 0x1000200f
jmp 0x10001496
mov eax, dword [ebp - 0x94]
sub eax, 0x3981bf0f
je 0x100019bb
jmp 0x100014ac
mov eax, dword [ebp - 0x94]
sub eax, 0x39e6f1a1
je 0x10002478
jmp 0x100014c2
mov eax, dword [ebp - 0x94]
sub eax, 0x3d52637b
je 0x10001c4f
jmp 0x100014d8
mov eax, dword [ebp - 0x94]
sub eax, 0x4c16a00d
je 0x100016d3
jmp 0x100014ee
mov eax, dword [ebp - 0x94]
sub eax, 0x57beda5f
je 0x1000197e
jmp 0x10001504
mov eax, dword [ebp - 0x94]
sub eax, 0x594447cd
je 0x10001c0d
jmp 0x1000151a
mov eax, dword [ebp - 0x94]
sub eax, 0x5bff992c
je 0x100023a8
jmp 0x10001530
mov eax, dword [ebp - 0x94]
sub eax, 0x5f2eb08b
je 0x10001dba
jmp 0x10001546
mov eax, dword [ebp - 0x94]
sub eax, 0x614233cc
je 0x10001a91
jmp 0x1000155c
mov eax, dword [ebp - 0x94]
sub eax, 0x6749b56e
je 0x10002052
jmp 0x10001572
mov eax, dword [ebp - 0x94]
sub eax, 0x6f39adcd
je 0x1000161f
jmp 0x10001588
mov eax, dword [ebp - 0x94]
sub eax, 0x715f5184
je 0x10001e07
jmp 0x1000159e
mov eax, dword [ebp - 0x94]
sub eax, 0x74620305
je 0x1000176d
jmp 0x100015b4
mov eax, dword [ebp - 0x94]
sub eax, 0x7a995dd9
je 0x10001aaf
jmp 0x100015ca
mov eax, dword [ebp - 0x94]
sub eax, 0x7c5466d4
je 0x10002450
jmp 0x100015e0
mov eax, dword [ebp - 0x94]
sub eax, 0x7c7e0110
je 0x10001a0c
jmp 0x100015f6
jmp 0x10002491
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x8c], 0x6f39adcd
jmp 0x10002491
mov eax, dword [ebp - 0x90]
push eax
sub esp, 0x100
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 - 0x84], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x88], eax
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.1000b7c0
add esp, 0xc
mov eax, dword [ebp - 0x84]
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, 0x4c16a00d
mov ecx, 0x2c30a4a3
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
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, 0xfa148259
mov ecx, 0x94538fd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
add edx, 0x15ac9e36
sub edx, 1
sub edx, 0x15ac9e36
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, 0xfa148259
mov ecx, 0x74620305
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x261baa9e
jmp 0x10002491
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x8c], 0xae1cc32d
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
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, 0x21385700
mov ecx, 0x85c163de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
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 [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
add edx, 0xe7822f9
sub edx, 1
sub edx, 0xe7822f9
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, 0x21385700
mov ecx, 0x1c7588ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0xe14da0fa
jmp 0x10002491
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 edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0x2f0d9629
mov ecx, 0xc8b4c0ab
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x261baa9e
jmp 0x10002491
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 - 0x44], eax
mov dword [ebp - 0x8c], 0x57beda5f
jmp 0x10002491
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x8c], 0xc3f849df
jmp 0x10002491
mov edx, dword [ebp - 0x40]
mov eax, 0x3981bf0f
mov ecx, 0xd058788d
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
add edx, 0x42e14d67
sub edx, 1
sub edx, 0x42e14d67
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, 0x283a1d03
mov ecx, 0x7c7e0110
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
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, 0x283a1d03
mov ecx, 0xe81cf98c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x614233cc
jmp 0x10002491
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x7a995dd9
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
add edx, 0x172b38e2
sub edx, 1
sub edx, 0x172b38e2
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, 0x5bff992c
mov ecx, 0x3caac54
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
sub edx, 0x5ccac91
sub edx, 1
add edx, 0x5ccac91
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, 0x5bff992c
mov ecx, 0x9edbe02a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x261baa9e
jmp 0x10002491
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 - 0x38], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x8c], 0x594447cd
jmp 0x10002491
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x38]
add ecx, 0xbff96ba8
add ecx, eax
sub ecx, 0xbff96ba8
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xc4176d78
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x8c], 0x3d52637b
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
sub edx, 0x3b48cbc6
sub edx, 1
add edx, 0x3b48cbc6
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, 0xa471db8d
mov ecx, 0x92394b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
add edx, 0xeeb9c20e
sub edx, 1
sub edx, 0xeeb9c20e
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, 0xa471db8d
mov ecx, 0xa5d9a7ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0xaaa778d5
jmp 0x10002491
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + 6]
mov word [ebp - 0x26], ax
mov dword [ebp - 0x8c], 0xf70f8f04
jmp 0x10002491
mov ax, word [ebp - 0x26]
movzx esi, ax
mov edx, dword [ebp - 0x30]
mov eax, 0xa6c15727
mov ecx, 0xf3a6e299
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
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, 0x6811c0b7
add ecx, eax
add ecx, 0x6811c0b7
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 dword [ebp - 0x8c], 0x5f2eb08b
jmp 0x10002491
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x8c], 0x1a2b3a12
jmp 0x10002491
mov ecx, dword [ebp - 0x24]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100173b0
call fcn.1000db30
add esp, 8
mov edx, eax
mov eax, 0x715f5184
mov ecx, 0x96860701
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
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 cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x4b50944e
add eax, ecx
sub eax, 0x4b50944e
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0xebb4af37
jmp 0x10002491
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x8c], 0x241ce236
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
add edx, 0x87b926ae
sub edx, 1
sub edx, 0x87b926ae
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, 0x1f81c235
mov ecx, 0xbf718256
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000b920
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, 0xc291863f
add esi, eax
add esi, 0xc291863f
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 cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
sub edx, 0x83c0117e
sub edx, 1
add edx, 0x83c0117e
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, 0x1f81c235
mov ecx, 0x2fdc5360
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x96860701
jmp 0x10002491
mov dword [ebp - 0x8c], 0xa29e7a56
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
add ax, 0xec1f
add ax, 1
sub ax, 0xec1f
mov word [ebp - 0x12], ax
mov dword [ebp - 0x8c], 0x6749b56e
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
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, 0x7c5466d4
mov ecx, 0x542ad4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
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, 0x7c5466d4
mov ecx, 0x870c0d26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0xf027d0e7
jmp 0x10002491
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
mov edx, ecx
add edx, 0x14f9a565
sub edx, 1
sub edx, 0x14f9a565
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, 0xb6f0792d
mov ecx, 0xa9a132f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
add edx, 0x14918772
sub edx, 1
sub edx, 0x14918772
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, 0xb6f0792d
mov ecx, 0xe811e55d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0x3d52637b
jmp 0x10002491
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x8c], 0x9c62e1c2
jmp 0x10002491
mov eax, dword [0x100a5540]
mov ecx, dword [0x100a553c]
mov edx, eax
sub edx, 0x5e3206b1
sub edx, 1
add edx, 0x5e3206b1
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, 0x39e6f1a1
mov ecx, 0xb37a5525
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100a5540]
mov eax, dword [0x100a553c]
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, 0x39e6f1a1
mov ecx, 0x86f3fd37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002491
mov dword [ebp - 0x8c], 0xc13d350
jmp 0x10002491
mov eax, dword [ebp - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x261baa9e
jmp 0x10002491
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000abc0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x8c], 0x94538fd4
jmp 0x10002491
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
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 - 0x8c], 0x85c163de
jmp 0x10002491
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x8c], 0x7c7e0110
jmp 0x10002491
mov dword [ebp - 0x8c], 0x3caac54
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x8c], 0x92394b1
jmp 0x10002491
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000b920
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, 0x985a0c9f
add esi, eax
add esi, 0x985a0c9f
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 cl
and cl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x8c], 0xbf718256
jmp 0x10002491
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x8c], 0x542ad4b
jmp 0x10002491
mov dword [ebp - 0x8c], 0xa9a132f4
jmp 0x10002491
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xb37a5525
jmp 0x100010c8