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, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x1006a800]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0xe18d24ae
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x81b9b2cd
je 0x1000180f
jmp 0x1000111b
mov eax, dword [ebp - 0x98]
sub eax, 0x84f98ab1
je 0x10002093
jmp 0x10001131
mov eax, dword [ebp - 0x98]
sub eax, 0x853d4f3f
je 0x10001aee
jmp 0x10001147
mov eax, dword [ebp - 0x98]
sub eax, 0x8713483f
je 0x100029b4
jmp 0x1000115d
mov eax, dword [ebp - 0x98]
sub eax, 0x898d62d9
je 0x100027bd
jmp 0x10001173
mov eax, dword [ebp - 0x98]
sub eax, 0x8a599fe1
je 0x1000217e
jmp 0x10001189
mov eax, dword [ebp - 0x98]
sub eax, 0x8c2d1b07
je 0x10002196
jmp 0x1000119f
mov eax, dword [ebp - 0x98]
sub eax, 0x8ccc5c05
je 0x100028e1
jmp 0x100011b5
mov eax, dword [ebp - 0x98]
sub eax, 0x8d474435
je 0x100020e8
jmp 0x100011cb
mov eax, dword [ebp - 0x98]
sub eax, 0x917a53b2
je 0x100021e7
jmp 0x100011e1
mov eax, dword [ebp - 0x98]
sub eax, 0x951c6450
je 0x10001a9d
jmp 0x100011f7
mov eax, dword [ebp - 0x98]
sub eax, 0x9afaed54
je 0x100028c9
jmp 0x1000120d
mov eax, dword [ebp - 0x98]
sub eax, 0x9d423461
je 0x10002493
jmp 0x10001223
mov eax, dword [ebp - 0x98]
sub eax, 0xa07b3724
je 0x10001f4d
jmp 0x10001239
mov eax, dword [ebp - 0x98]
sub eax, 0xa1ad4729
je 0x1000199e
jmp 0x1000124f
mov eax, dword [ebp - 0x98]
sub eax, 0xa46bcb1a
je 0x10001a15
jmp 0x10001265
mov eax, dword [ebp - 0x98]
sub eax, 0xa99207a6
je 0x10002509
jmp 0x1000127b
mov eax, dword [ebp - 0x98]
sub eax, 0xaa2bef04
je 0x100027cc
jmp 0x10001291
mov eax, dword [ebp - 0x98]
sub eax, 0xacf5dff7
je 0x100026b5
jmp 0x100012a7
mov eax, dword [ebp - 0x98]
sub eax, 0xad4c7449
je 0x10001ec9
jmp 0x100012bd
mov eax, dword [ebp - 0x98]
sub eax, 0xb14ad872
je 0x1000279d
jmp 0x100012d3
mov eax, dword [ebp - 0x98]
sub eax, 0xb1b75517
je 0x10002084
jmp 0x100012e9
mov eax, dword [ebp - 0x98]
sub eax, 0xbbf41feb
je 0x10001b23
jmp 0x100012ff
mov eax, dword [ebp - 0x98]
sub eax, 0xc76b19dd
je 0x10002875
jmp 0x10001315
mov eax, dword [ebp - 0x98]
sub eax, 0xcee05425
je 0x10001a8e
jmp 0x1000132b
mov eax, dword [ebp - 0x98]
sub eax, 0xd2711942
je 0x10002589
jmp 0x10001341
mov eax, dword [ebp - 0x98]
sub eax, 0xda915163
je 0x10001c35
jmp 0x10001357
mov eax, dword [ebp - 0x98]
sub eax, 0xdde38f79
je 0x10002720
jmp 0x1000136d
mov eax, dword [ebp - 0x98]
sub eax, 0xde11d9f5
je 0x10002976
jmp 0x10001383
mov eax, dword [ebp - 0x98]
sub eax, 0xe18d24ae
je 0x10001750
jmp 0x10001399
mov eax, dword [ebp - 0x98]
sub eax, 0xe2831440
je 0x10001dee
jmp 0x100013af
mov eax, dword [ebp - 0x98]
sub eax, 0xea46f76a
je 0x10001bb0
jmp 0x100013c5
mov eax, dword [ebp - 0x98]
sub eax, 0xeae2aa45
je 0x10001c53
jmp 0x100013db
mov eax, dword [ebp - 0x98]
sub eax, 0xfca1f36a
je 0x10001b3a
jmp 0x100013f1
mov eax, dword [ebp - 0x98]
sub eax, 0xfe70ccd8
je 0x100023c0
jmp 0x10001407
mov eax, dword [ebp - 0x98]
sub eax, 0x2a1a20b
je 0x100028b7
jmp 0x1000141d
mov eax, dword [ebp - 0x98]
sub eax, 0x630b13b
je 0x100022cd
jmp 0x10001433
mov eax, dword [ebp - 0x98]
sub eax, 0x6d2f05f
je 0x100026cf
jmp 0x10001449
mov eax, dword [ebp - 0x98]
sub eax, 0xa99563a
je 0x10001868
jmp 0x1000145f
mov eax, dword [ebp - 0x98]
sub eax, 0x10679376
je 0x100020a8
jmp 0x10001475
mov eax, dword [ebp - 0x98]
sub eax, 0x13ae9be0
je 0x1000233b
jmp 0x1000148b
mov eax, dword [ebp - 0x98]
sub eax, 0x144e8009
je 0x10001e52
jmp 0x100014a1
mov eax, dword [ebp - 0x98]
sub eax, 0x15320bf5
je 0x10001e61
jmp 0x100014b7
mov eax, dword [ebp - 0x98]
sub eax, 0x169ddae6
je 0x10001d69
jmp 0x100014cd
mov eax, dword [ebp - 0x98]
sub eax, 0x1c663faf
je 0x10001fe3
jmp 0x100014e3
mov eax, dword [ebp - 0x98]
sub eax, 0x1e4e7d30
je 0x10001e78
jmp 0x100014f9
mov eax, dword [ebp - 0x98]
sub eax, 0x217fe890
je 0x1000181e
jmp 0x1000150f
mov eax, dword [ebp - 0x98]
sub eax, 0x2252e27b
je 0x10001c9c
jmp 0x10001525
mov eax, dword [ebp - 0x98]
sub eax, 0x24cda6ad
je 0x10002598
jmp 0x1000153b
mov eax, dword [ebp - 0x98]
sub eax, 0x2d23db55
je 0x100018f4
jmp 0x10001551
mov eax, dword [ebp - 0x98]
sub eax, 0x2e1ee889
je 0x1000194d
jmp 0x10001567
mov eax, dword [ebp - 0x98]
sub eax, 0x32ad6fd4
je 0x10002484
jmp 0x1000157d
mov eax, dword [ebp - 0x98]
sub eax, 0x359e2d4a
je 0x100027fe
jmp 0x10001593
mov eax, dword [ebp - 0x98]
sub eax, 0x35e235ed
je 0x10001a24
jmp 0x100015a9
mov eax, dword [ebp - 0x98]
sub eax, 0x3878add8
je 0x100022be
jmp 0x100015bf
mov eax, dword [ebp - 0x98]
sub eax, 0x41084136
je 0x100023b1
jmp 0x100015d5
mov eax, dword [ebp - 0x98]
sub eax, 0x45b985c7
je 0x10002985
jmp 0x100015eb
mov eax, dword [ebp - 0x98]
sub eax, 0x4cfcfd44
je 0x100027ac
jmp 0x10001601
mov eax, dword [ebp - 0x98]
sub eax, 0x4e22dc2c
je 0x100029fe
jmp 0x10001617
mov eax, dword [ebp - 0x98]
sub eax, 0x554b0a77
je 0x10001f23
jmp 0x1000162d
mov eax, dword [ebp - 0x98]
sub eax, 0x574a0ef1
je 0x10001c44
jmp 0x10001643
mov eax, dword [ebp - 0x98]
sub eax, 0x5a3ab9cb
je 0x10001903
jmp 0x10001659
mov eax, dword [ebp - 0x98]
sub eax, 0x643199e6
je 0x10001f6d
jmp 0x1000166f
mov eax, dword [ebp - 0x98]
sub eax, 0x643d238a
je 0x1000281c
jmp 0x10001685
mov eax, dword [ebp - 0x98]
sub eax, 0x6639fbe3
je 0x100026a6
mov al, byte [ebp - 0x8a]
mov cl, byte [ebp - 0x89]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x898d62d9
mov ecx, 0x6ab890d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x217fe890
jmp 0x10002a17
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x90], 0xa99563a
jmp 0x10002a17
mov ecx, dword [ebp - 0x94]
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
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.1000cf00
add esp, 0xc
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
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, 0x2d23db55
mov ecx, 0x5a3ab9cb
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x4cfcfd44
jmp 0x10002a17
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 dword [ebp - 0x4c], eax
mov dword [ebp - 0x90], 0x2e1ee889
jmp 0x10002a17
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
add edx, 0x50185b8
sub edx, 1
sub edx, 0x50185b8
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, 0xaa2bef04
mov ecx, 0xa1ad4729
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x4c]
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]
mov dword [ebp - 0x48], eax
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
add edx, 0x378971f9
sub edx, 1
sub edx, 0x378971f9
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, 0xaa2bef04
mov ecx, 0xa46bcb1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x35e235ed
jmp 0x10002a17
mov eax, dword [ebp - 0x48]
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, 0x951c6450
mov ecx, 0xcee05425
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x4cfcfd44
jmp 0x10002a17
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 ecx, eax
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x853d4f3f
jmp 0x10002a17
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x90], 0x7667e76c
jmp 0x10002a17
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x90], 0xfca1f36a
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
sub edx, 0x86e72f84
sub edx, 1
add edx, 0x86e72f84
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, 0x359e2d4a
mov ecx, 0xea46f76a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
add edx, 0xfff44a26
sub edx, 1
sub edx, 0xfff44a26
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, 0x359e2d4a
mov ecx, 0xda915163
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x574a0ef1
jmp 0x10002a17
mov dword [ebp - 0x90], 0x4cfcfd44
jmp 0x10002a17
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
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, 0x643d238a
mov ecx, 0x2252e27b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
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]
add eax, 0x3c
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
add edx, 0xa3d06810
sub edx, 1
sub edx, 0xa3d06810
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, 0x643d238a
mov ecx, 0x169ddae6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x7f7a4e16
jmp 0x10002a17
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x5e7c5fe8
add ecx, eax
sub ecx, 0x5e7c5fe8
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
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, 0xc76b19dd
mov ecx, 0x144e8009
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x15320bf5
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x90], 0x1e4e7d30
jmp 0x10002a17
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
sub edx, 0x84c22d8f
sub edx, 1
add edx, 0x84c22d8f
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, 0x2a1a20b
mov ecx, 0xad4c7449
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
sub edx, 0x7c60d565
sub edx, 1
add edx, 0x7c60d565
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, 0x2a1a20b
mov ecx, 0x554b0a77
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x758b0a0c
jmp 0x10002a17
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov eax, 0x24cda6ad
mov ecx, 0x643199e6
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
add edx, 0x3d5d847c
sub edx, 1
sub edx, 0x3d5d847c
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, 0x9afaed54
mov ecx, 0x1c663faf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x5e90401
add eax, ecx
sub eax, 0x5e90401
mov ecx, dword [ebp - 0x5c]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
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, 0x9afaed54
mov ecx, 0xb1b75517
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x84f98ab1
jmp 0x10002a17
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x90], 0x10679376
jmp 0x10002a17
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x28]
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], 0x100193b0
call fcn.1000f270
add esp, 8
mov edx, eax
mov eax, 0x8d474435
mov ecx, 0x630b13b
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
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]
add edx, 0xe650b750
add edx, eax
sub edx, 0xe650b750
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 edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x90], 0x8a599fe1
jmp 0x10002a17
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x90], 0x8c2d1b07
jmp 0x10002a17
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
sub edx, 0x6b0514b2
sub edx, 1
add edx, 0x6b0514b2
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, 0x8ccc5c05
mov ecx, 0x917a53b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
sub ecx, 0x4940e28c
add ecx, eax
add ecx, 0x4940e28c
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000d060
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]
add esi, 0xcc6d567
add esi, eax
sub esi, 0xcc6d567
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 eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
add edx, 0x1787b553
sub edx, 1
sub edx, 0x1787b553
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, 0x8ccc5c05
mov ecx, 0x3878add8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x630b13b
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
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, 0xde11d9f5
mov ecx, 0x13ae9be0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
sub edx, 0xe1059494
sub edx, 1
add edx, 0xe1059494
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, 0xde11d9f5
mov ecx, 0x41084136
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0xfe70ccd8
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x14], ax
mov dword [ebp - 0x90], 0x71c45761
jmp 0x10002a17
mov dword [ebp - 0x90], 0x9d423461
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
add edx, 0x85351f17
sub edx, 1
sub edx, 0x85351f17
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, 0x8713483f
mov ecx, 0xa99207a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
add edx, 0xf6b5bb26
sub edx, 1
sub edx, 0xf6b5bb26
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, 0x8713483f
mov ecx, 0xd2711942
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x1e4e7d30
jmp 0x10002a17
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
mov edx, ecx
sub edx, 0x10a17f8b
sub edx, 1
add edx, 0x10a17f8b
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, 0x6f7805af
mov ecx, 0x6ae1fd3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x90], 0x6d2f05f
jmp 0x10002a17
mov eax, dword [0x1006bb40]
mov ecx, dword [0x1006bb3c]
mov edx, eax
sub edx, 0x9cb4ef9c
sub edx, 1
add edx, 0x9cb4ef9c
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, 0x4e22dc2c
mov ecx, 0xdde38f79
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006bb40]
mov eax, dword [0x1006bb3c]
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, 0x4e22dc2c
mov ecx, 0xb14ad872
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002a17
mov dword [ebp - 0x90], 0x4cfcfd44
jmp 0x10002a17
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000c300
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0x6ab890d1
jmp 0x10002a17
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x4c]
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]
mov dword [ebp - 0x90], 0xa1ad4729
jmp 0x10002a17
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xea46f76a
jmp 0x10002a17
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 - 0x90], 0x2252e27b
jmp 0x10002a17
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x74752e55
add ecx, eax
sub ecx, 0x74752e55
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0xe2831440
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x90], 0xad4c7449
jmp 0x10002a17
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x90], 0x1c663faf
jmp 0x10002a17
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000d060
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]
add esi, 0x2c983f22
add esi, eax
sub esi, 0x2c983f22
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 - 0x90], 0x917a53b2
jmp 0x10002a17
mov dword [ebp - 0x90], 0x13ae9be0
jmp 0x10002a17
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov dword [ebp - 0x90], 0x73c63b7c
jmp 0x10002a17
mov eax, dword [ebp - 0x5c]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x90], 0xa99207a6
jmp 0x10002a17
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xdde38f79
jmp 0x100010ff