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, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x1003a600]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8c], 0x4c83bf21
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x80cfdd85
je 0x100028ea
jmp 0x100010f4
mov eax, dword [ebp - 0x94]
sub eax, 0x8f73eb0d
je 0x10002393
jmp 0x1000110a
mov eax, dword [ebp - 0x94]
sub eax, 0x921d9215
je 0x10002271
jmp 0x10001120
mov eax, dword [ebp - 0x94]
sub eax, 0x94005212
je 0x1000290b
jmp 0x10001136
mov eax, dword [ebp - 0x94]
sub eax, 0x994bc5b4
je 0x100018a5
jmp 0x1000114c
mov eax, dword [ebp - 0x94]
sub eax, 0x99c9b6c0
je 0x1000261f
jmp 0x10001162
mov eax, dword [ebp - 0x94]
sub eax, 0xa747a961
je 0x10001abf
jmp 0x10001178
mov eax, dword [ebp - 0x94]
sub eax, 0xab8eae4f
je 0x10001b08
jmp 0x1000118e
mov eax, dword [ebp - 0x94]
sub eax, 0xad6975be
je 0x10001b8d
jmp 0x100011a4
mov eax, dword [ebp - 0x94]
sub eax, 0xae2b7570
je 0x10001edd
jmp 0x100011ba
mov eax, dword [ebp - 0x94]
sub eax, 0xae51b065
je 0x100027b0
jmp 0x100011d0
mov eax, dword [ebp - 0x94]
sub eax, 0xaed46bd1
je 0x100029b2
jmp 0x100011e6
mov eax, dword [ebp - 0x94]
sub eax, 0xb00bb7f0
je 0x10001f72
jmp 0x100011fc
mov eax, dword [ebp - 0x94]
sub eax, 0xb2413b98
je 0x10002375
jmp 0x10001212
mov eax, dword [ebp - 0x94]
sub eax, 0xb53ff64d
je 0x100025ce
jmp 0x10001228
mov eax, dword [ebp - 0x94]
sub eax, 0xb61e3305
je 0x100028db
jmp 0x1000123e
mov eax, dword [ebp - 0x94]
sub eax, 0xb968f602
je 0x10001f47
jmp 0x10001254
mov eax, dword [ebp - 0x94]
sub eax, 0xbb5c5d49
je 0x100018eb
jmp 0x1000126a
mov eax, dword [ebp - 0x94]
sub eax, 0xbd717d99
je 0x10001f91
jmp 0x10001280
mov eax, dword [ebp - 0x94]
sub eax, 0xbe4be542
je 0x10002671
jmp 0x10001296
mov eax, dword [ebp - 0x94]
sub eax, 0xc01e3c11
je 0x1000211d
jmp 0x100012ac
mov eax, dword [ebp - 0x94]
sub eax, 0xc053b8ad
je 0x10001c03
jmp 0x100012c2
mov eax, dword [ebp - 0x94]
sub eax, 0xc167feaf
je 0x10001c90
jmp 0x100012d8
mov eax, dword [ebp - 0x94]
sub eax, 0xc1739daa
je 0x1000179e
jmp 0x100012ee
mov eax, dword [ebp - 0x94]
sub eax, 0xc68a81ba
je 0x1000268a
jmp 0x10001304
mov eax, dword [ebp - 0x94]
sub eax, 0xcb61ac37
je 0x100020c2
jmp 0x1000131a
mov eax, dword [ebp - 0x94]
sub eax, 0xcbc14154
je 0x100018b4
jmp 0x10001330
mov eax, dword [ebp - 0x94]
sub eax, 0xcdb05e1d
je 0x1000295a
jmp 0x10001346
mov eax, dword [ebp - 0x94]
sub eax, 0xd0f672be
je 0x10002647
jmp 0x1000135c
mov eax, dword [ebp - 0x94]
sub eax, 0xd4258a9b
je 0x10001a33
jmp 0x10001372
mov eax, dword [ebp - 0x94]
sub eax, 0xd46116b6
je 0x1000221f
jmp 0x10001388
mov eax, dword [ebp - 0x94]
sub eax, 0xd486b72a
je 0x10002aeb
jmp 0x1000139e
mov eax, dword [ebp - 0x94]
sub eax, 0xdba0f844
je 0x100024de
jmp 0x100013b4
mov eax, dword [ebp - 0x94]
sub eax, 0xdf7345fb
je 0x100018fa
jmp 0x100013ca
mov eax, dword [ebp - 0x94]
sub eax, 0xe188b7bb
je 0x10002880
jmp 0x100013e0
mov eax, dword [ebp - 0x94]
sub eax, 0xe26256e4
je 0x100024cf
jmp 0x100013f6
mov eax, dword [ebp - 0x94]
sub eax, 0xe6bd2443
je 0x10002a59
jmp 0x1000140c
mov eax, dword [ebp - 0x94]
sub eax, 0xe7af65e8
je 0x10001da6
jmp 0x10001422
mov eax, dword [ebp - 0x94]
sub eax, 0xf64f00c9
je 0x10001d97
jmp 0x10001438
mov eax, dword [ebp - 0x94]
sub eax, 0xf6620069
je 0x10002717
jmp 0x1000144e
mov eax, dword [ebp - 0x94]
sub eax, 0xfb5a73a9
je 0x100028f9
jmp 0x10001464
mov eax, dword [ebp - 0x94]
sub eax, 0xfba6f6d2
je 0x10002792
jmp 0x1000147a
mov eax, dword [ebp - 0x94]
sub eax, 0xfc8fbfe3
je 0x100023e4
jmp 0x10001490
mov eax, dword [ebp - 0x94]
sub eax, 0x7e12a67
je 0x10002071
jmp 0x100014a6
mov eax, dword [ebp - 0x94]
sub eax, 0xa2cc639
je 0x1000262e
jmp 0x100014bc
mov eax, dword [ebp - 0x94]
sub eax, 0xb70526f
je 0x10001e51
jmp 0x100014d2
mov eax, dword [ebp - 0x94]
sub eax, 0xbf39818
je 0x1000286f
jmp 0x100014e8
mov eax, dword [ebp - 0x94]
sub eax, 0x1a362c25
je 0x10002aaa
jmp 0x100014fe
mov eax, dword [ebp - 0x94]
sub eax, 0x1b13cbdb
je 0x10001c81
jmp 0x10001514
mov eax, dword [ebp - 0x94]
sub eax, 0x22dff75c
je 0x100022df
jmp 0x1000152a
mov eax, dword [ebp - 0x94]
sub eax, 0x2367ed0f
je 0x1000252f
jmp 0x10001540
mov eax, dword [ebp - 0x94]
sub eax, 0x24ce37ba
je 0x10002245
jmp 0x10001556
mov eax, dword [ebp - 0x94]
sub eax, 0x26f6f247
je 0x10002201
jmp 0x1000156c
mov eax, dword [ebp - 0x94]
sub eax, 0x27a02173
je 0x10002978
jmp 0x10001582
mov eax, dword [ebp - 0x94]
sub eax, 0x2cec27d3
je 0x10001aa1
jmp 0x10001598
mov eax, dword [ebp - 0x94]
sub eax, 0x2f9cbeaf
je 0x10001ce1
jmp 0x100015ae
mov eax, dword [ebp - 0x94]
sub eax, 0x3cb55fbd
je 0x10001932
jmp 0x100015c4
mov eax, dword [ebp - 0x94]
sub eax, 0x41df8624
je 0x10001fe2
jmp 0x100015da
mov eax, dword [ebp - 0x94]
sub eax, 0x4304051c
je 0x1000212c
jmp 0x100015f0
mov eax, dword [ebp - 0x94]
sub eax, 0x4355edc0
je 0x10002062
jmp 0x10001606
mov eax, dword [ebp - 0x94]
sub eax, 0x435f71e3
je 0x1000299d
jmp 0x1000161c
mov eax, dword [ebp - 0x94]
sub eax, 0x44781a2f
je 0x10001ddb
jmp 0x10001632
mov eax, dword [ebp - 0x94]
sub eax, 0x4c83bf21
je 0x10001755
jmp 0x10001648
mov eax, dword [ebp - 0x94]
sub eax, 0x588f7b2f
je 0x100025bf
jmp 0x1000165e
mov eax, dword [ebp - 0x94]
sub eax, 0x59534b33
je 0x100019c5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0xe188b7bb
mov ecx, 0xc1739daa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x90]
push eax
sub esp, 8
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 - 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.1000c6d0
add esp, 0xc
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0xe0cc23ff
sub edx, 1
sub edx, 0xe0cc23ff
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, 0xe188b7bb
mov ecx, 0x994bc5b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xcbc14154
jmp 0x10002af5
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, 0xbb5c5d49
mov ecx, 0xdf7345fb
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xae51b065
jmp 0x10002af5
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x88]
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 dword [ebp - 0x8c], 0x3cb55fbd
jmp 0x10002af5
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 ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0x8c], 0x59534b33
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0xb61e3305
mov ecx, 0x2cec27d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dl, byte [ebp - 0x49]
mov eax, 0xad6975be
mov ecx, 0xa747a961
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0x80cfdd85
mov ecx, 0xab8eae4f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0xe300a207
sub edx, 1
add edx, 0xe300a207
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, 0x80cfdd85
mov ecx, 0x5e5bea8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0xa3a9b2e7
sub edx, 1
add edx, 0xa3a9b2e7
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, 0xfb5a73a9
mov ecx, 0xc053b8ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0x5d642fae
sub edx, 1
add edx, 0x5d642fae
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, 0xfb5a73a9
mov ecx, 0x1b13cbdb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xc167feaf
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xfd89441d
sub edx, 1
add edx, 0xfd89441d
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, 0x94005212
mov ecx, 0x2f9cbeaf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x48]
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 - 0x6c]
mov dword [eax], ecx
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0xe26d8846
sub edx, 1
add edx, 0xe26d8846
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, 0x94005212
mov ecx, 0xf64f00c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xe7af65e8
jmp 0x10002af5
mov edx, dword [ebp - 0x6c]
mov eax, 0x61bbf96e
mov ecx, 0x769c90a0
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0x311094a3
sub edx, 1
add edx, 0x311094a3
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, 0xcdb05e1d
mov ecx, 0xb70526f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0xcdb05e1d
mov ecx, 0x77a56788
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xae51b065
jmp 0x10002af5
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x8c], 0xb00bb7f0
jmp 0x10002af5
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x8c], 0xbd717d99
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0x144a348f
sub edx, 1
sub edx, 0x144a348f
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, 0x27a02173
mov ecx, 0x41df8624
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x36], ax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0xb89e5fba
sub edx, 1
add edx, 0xb89e5fba
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, 0x27a02173
mov ecx, 0x4355edc0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0x7e12a67
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0x31e40d4f
sub edx, 1
sub edx, 0x31e40d4f
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, 0x6f66a152
mov ecx, 0xcb61ac37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ax, word [ebp - 0x36]
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xa1815d4
sub edx, 1
add edx, 0xa1815d4
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, 0x6f66a152
mov ecx, 0xc01e3c11
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0x4304051c
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0x84b6031b
sub edx, 1
add edx, 0x84b6031b
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, 0x435f71e3
mov ecx, 0x61ac4585
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dl, byte [ebp - 0x2d]
mov eax, 0xc68a81ba
mov ecx, 0xd46116b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [ebp - 0x60]
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 - 0x2c], eax
mov dword [ebp - 0x8c], 0x24ce37ba
jmp 0x10002af5
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x8c], 0x921d9215
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0xaed46bd1
mov ecx, 0x22dff75c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x597d6c2b
add ecx, eax
sub ecx, 0x597d6c2b
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ea40
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x21], al
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xefb19dbd
sub edx, 1
add edx, 0xefb19dbd
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, 0xaed46bd1
mov ecx, 0xb2413b98
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dl, byte [ebp - 0x21]
mov eax, 0x8f73eb0d
mov ecx, 0x99c9b6c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0x2fb7e649
sub edx, 1
add edx, 0x2fb7e649
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, 0x6bb95fae
mov ecx, 0xfc8fbfe3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
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 eax, dword [eax + 0xc]
sub edx, 0xc982f3cf
add edx, eax
add edx, 0xc982f3cf
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, 0x49b0f45b
add eax, ecx
sub eax, 0x49b0f45b
mov dword [ebp - 0x20], eax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0xc719de22
sub edx, 1
add edx, 0xc719de22
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, 0x6bb95fae
mov ecx, 0xe26256e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xdba0f844
jmp 0x10002af5
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0x65810271
sub edx, 1
sub edx, 0x65810271
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, 0xe6bd2443
mov ecx, 0x2367ed0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov edx, dword [ebp - 0x20]
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, esi
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.1000c830
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0xe6bd2443
mov ecx, 0x588f7b2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xb53ff64d
jmp 0x10002af5
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
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], 0x99c9b6c0
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xa2cc639
jmp 0x10002af5
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0x8c], 0xd0f672be
jmp 0x10002af5
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov dword [ebp - 0x8c], 0xbe4be542
jmp 0x10002af5
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x8c], 0xbd717d99
jmp 0x10002af5
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x8c], 0x64202090
jmp 0x10002af5
mov eax, dword [ebp - 0x10]
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 - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0x1a362c25
mov ecx, 0xfba6f6d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov dword [ebp - 0x8c], 0x75336923
jmp 0x10002af5
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0x45dc1346
sub edx, 1
add edx, 0x45dc1346
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, 0xd486b72a
mov ecx, 0x63c5b777
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002af5
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000bad0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x90]
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x88], ecx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000c6d0
add esp, 0xc
mov dword [ebp - 0x8c], 0xc1739daa
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xd4258a9b
jmp 0x10002af5
mov dword [ebp - 0x8c], 0xab8eae4f
jmp 0x10002af5
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x8c], 0xc053b8ad
jmp 0x10002af5
mov eax, dword [ebp - 0x48]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x2f9cbeaf
jmp 0x10002af5
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xb70526f
jmp 0x10002af5
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x8c], 0x41df8624
jmp 0x10002af5
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x8c], 0x61ac4585
jmp 0x10002af5
mov ecx, dword [ebp - 0x28]
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 ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ea40
add esp, 8
mov dword [ebp - 0x8c], 0x22dff75c
jmp 0x10002af5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xb5c6cb62
add ecx, eax
sub ecx, 0xb5c6cb62
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.1000c830
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x8c], 0x2367ed0f
jmp 0x10002af5
mov eax, dword [ebp - 0x10]
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 - 0x88]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xf6620069
jmp 0x10002af5
mov dword [ebp - 0x8c], 0x63c5b777
jmp 0x100010d8