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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x10068200]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
sub edx, 0x392c4c06
sub edx, 1
add edx, 0x392c4c06
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0xa69d8d4f
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x84eb7a84
je 0x10001b4f
jmp 0x10001243
mov eax, dword [ebp - 0xa8]
sub eax, 0x919703d2
je 0x10001cf5
jmp 0x10001259
mov eax, dword [ebp - 0xa8]
sub eax, 0x9b452a82
je 0x10001e2f
jmp 0x1000126f
mov eax, dword [ebp - 0xa8]
sub eax, 0x9e6af91d
je 0x10001c26
jmp 0x10001285
mov eax, dword [ebp - 0xa8]
sub eax, 0x9fbd7bee
je 0x10002340
jmp 0x1000129b
mov eax, dword [ebp - 0xa8]
sub eax, 0xa30ca100
je 0x100022c1
jmp 0x100012b1
mov eax, dword [ebp - 0xa8]
sub eax, 0xa69d8d4f
je 0x10001770
jmp 0x100012c7
mov eax, dword [ebp - 0xa8]
sub eax, 0xa7bb4ff7
je 0x10001957
jmp 0x100012dd
mov eax, dword [ebp - 0xa8]
sub eax, 0xa943ceb6
je 0x10001ce6
jmp 0x100012f3
mov eax, dword [ebp - 0xa8]
sub eax, 0xad716401
je 0x10001a1a
jmp 0x10001309
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3c0b40a
je 0x10001fd8
jmp 0x1000131f
mov eax, dword [ebp - 0xa8]
sub eax, 0xbb95ebf6
je 0x10001fa3
jmp 0x10001335
mov eax, dword [ebp - 0xa8]
sub eax, 0xbc08f0b7
je 0x10002395
jmp 0x1000134b
mov eax, dword [ebp - 0xa8]
sub eax, 0xc46ba4b4
je 0x10001ab2
jmp 0x10001361
mov eax, dword [ebp - 0xa8]
sub eax, 0xc588a723
je 0x10001870
jmp 0x10001377
mov eax, dword [ebp - 0xa8]
sub eax, 0xc8844811
je 0x100019cb
jmp 0x1000138d
mov eax, dword [ebp - 0xa8]
sub eax, 0xcbf9a968
je 0x10001966
jmp 0x100013a3
mov eax, dword [ebp - 0xa8]
sub eax, 0xd15e9ebe
je 0x10001ae3
jmp 0x100013b9
mov eax, dword [ebp - 0xa8]
sub eax, 0xd468dcb6
je 0x1000187f
jmp 0x100013cf
mov eax, dword [ebp - 0xa8]
sub eax, 0xd59f0323
je 0x10001c17
jmp 0x100013e5
mov eax, dword [ebp - 0xa8]
sub eax, 0xdcf1ab46
je 0x10001d9a
jmp 0x100013fb
mov eax, dword [ebp - 0xa8]
sub eax, 0xdd6c2e5f
je 0x100024e8
jmp 0x10001411
mov eax, dword [ebp - 0xa8]
sub eax, 0xddf06aa3
je 0x100023e6
jmp 0x10001427
mov eax, dword [ebp - 0xa8]
sub eax, 0xe15179be
je 0x1000179f
jmp 0x1000143d
mov eax, dword [ebp - 0xa8]
sub eax, 0xe299e989
je 0x1000260d
jmp 0x10001453
mov eax, dword [ebp - 0xa8]
sub eax, 0xe75b1344
je 0x10001b30
jmp 0x10001469
mov eax, dword [ebp - 0xa8]
sub eax, 0xe92d38ae
je 0x100022d0
jmp 0x1000147f
mov eax, dword [ebp - 0xa8]
sub eax, 0xedb59fe4
je 0x10001e7d
jmp 0x10001495
mov eax, dword [ebp - 0xa8]
sub eax, 0xee261ed7
je 0x10002585
jmp 0x100014ab
mov eax, dword [ebp - 0xa8]
sub eax, 0xfa3d9dd7
je 0x1000237c
jmp 0x100014c1
mov eax, dword [ebp - 0xa8]
sub eax, 0xfba80d63
je 0x1000204e
jmp 0x100014d7
mov eax, dword [ebp - 0xa8]
sub eax, 0xfce025a3
je 0x10001ebe
jmp 0x100014ed
mov eax, dword [ebp - 0xa8]
sub eax, 0xffc3d84d
je 0x10002404
jmp 0x10001503
mov eax, dword [ebp - 0xa8]
sub eax, 0xaea4786
je 0x10002547
jmp 0x10001519
mov eax, dword [ebp - 0xa8]
sub eax, 0xaf1900d
je 0x10002565
jmp 0x1000152f
mov eax, dword [ebp - 0xa8]
sub eax, 0xb75adc2
je 0x10001bbe
jmp 0x10001545
mov eax, dword [ebp - 0xa8]
sub eax, 0x15b77fc5
je 0x10001e5d
jmp 0x1000155b
mov eax, dword [ebp - 0xa8]
sub eax, 0x16f709bb
je 0x1000247a
jmp 0x10001571
mov eax, dword [ebp - 0xa8]
sub eax, 0x1a628a9d
je 0x10002535
jmp 0x10001587
mov eax, dword [ebp - 0xa8]
sub eax, 0x1a8e0e23
je 0x10001c77
jmp 0x1000159d
mov eax, dword [ebp - 0xa8]
sub eax, 0x1ecca1da
je 0x10001f0f
jmp 0x100015b3
mov eax, dword [ebp - 0xa8]
sub eax, 0x26eefd54
je 0x10002106
jmp 0x100015c9
mov eax, dword [ebp - 0xa8]
sub eax, 0x2809f046
je 0x10001e3e
jmp 0x100015df
mov eax, dword [ebp - 0xa8]
sub eax, 0x3346ae8a
je 0x100026b7
jmp 0x100015f5
mov eax, dword [ebp - 0xa8]
sub eax, 0x3e35a81f
je 0x100023ac
jmp 0x1000160b
mov eax, dword [ebp - 0xa8]
sub eax, 0x3e5eed69
je 0x100021cb
jmp 0x10001621
mov eax, dword [ebp - 0xa8]
sub eax, 0x44b0575f
je 0x10002359
jmp 0x10001637
mov eax, dword [ebp - 0xa8]
sub eax, 0x4756fb65
je 0x100024f9
jmp 0x1000164d
mov eax, dword [ebp - 0xa8]
sub eax, 0x4b471e33
je 0x10002508
jmp 0x10001663
mov eax, dword [ebp - 0xa8]
sub eax, 0x4f3c1a97
je 0x10002597
jmp 0x10001679
mov eax, dword [ebp - 0xa8]
sub eax, 0x50f71979
je 0x100019da
jmp 0x1000168f
mov eax, dword [ebp - 0xa8]
sub eax, 0x513307d8
je 0x10001d49
jmp 0x100016a5
mov eax, dword [ebp - 0xa8]
sub eax, 0x53ac895a
je 0x1000215d
jmp 0x100016bb
mov eax, dword [ebp - 0xa8]
sub eax, 0x58b9d584
je 0x10001cd7
jmp 0x100016d1
mov eax, dword [ebp - 0xa8]
sub eax, 0x5a5c4e7a
je 0x10001ea0
jmp 0x100016e7
mov eax, dword [ebp - 0xa8]
sub eax, 0x5bf75805
je 0x10002331
jmp 0x100016fd
mov eax, dword [ebp - 0xa8]
sub eax, 0x6677af25
je 0x10002124
jmp 0x10001713
mov eax, dword [ebp - 0xa8]
sub eax, 0x6d63b908
je 0x10001f94
jmp 0x10001729
mov eax, dword [ebp - 0xa8]
sub eax, 0x73092d1c
je 0x10001ad4
jmp 0x1000173f
mov eax, dword [ebp - 0xa8]
sub eax, 0x771d6dd6
je 0x100018d0
jmp 0x10001755
mov eax, dword [ebp - 0xa8]
sub eax, 0x7e68b63b
je 0x10001b6d
jmp 0x1000176b
jmp 0x100026c1
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4756fb65
mov ecx, 0xe15179be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
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
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
add edx, 0xd10b1a04
sub edx, 1
sub edx, 0xd10b1a04
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, 0x4756fb65
mov ecx, 0xc588a723
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xd468dcb6
jmp 0x100026c1
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
sub edx, 0xfc33c666
sub edx, 1
add edx, 0xfc33c666
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, 0x4b471e33
mov ecx, 0x771d6dd6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov ecx, dword [ebp - 0xa4]
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
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
sub edx, 0xcf68e656
sub edx, 1
add edx, 0xcf68e656
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, 0x4b471e33
mov ecx, 0xa7bb4ff7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xcbf9a968
jmp 0x100026c1
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000be40
add esp, 0xc
mov eax, dword [ebp - 0x98]
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 - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0xc8844811
mov ecx, 0x50f71979
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xffc3d84d
jmp 0x100026c1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
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 - 0xa0], 0xad716401
jmp 0x100026c1
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
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 - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa0], 0xc46ba4b4
jmp 0x100026c1
mov edx, dword [ebp - 0x5c]
mov esi, 0xffffffff
mov eax, 0xd15e9ebe
mov ecx, 0x73092d1c
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xffc3d84d
jmp 0x100026c1
mov eax, dword [ebp - 0x80]
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 - 0x58], eax
mov dword [ebp - 0xa0], 0xe75b1344
jmp 0x100026c1
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa0], 0x84eb7a84
jmp 0x100026c1
mov edx, dword [ebp - 0x54]
mov eax, 0x7e68b63b
mov ecx, 0x919703d2
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
sub edx, 0xe2d682b5
sub edx, 1
add edx, 0xe2d682b5
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, 0x1a628a9d
mov ecx, 0xb75adc2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
add edx, 0x213c4c56
sub edx, 1
sub edx, 0x213c4c56
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, 0x1a628a9d
mov ecx, 0xd59f0323
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0x9e6af91d
jmp 0x100026c1
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
add edx, 0xcb8b136d
sub edx, 1
sub edx, 0xcb8b136d
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, 0xaea4786
mov ecx, 0x1a8e0e23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
add edx, 0xd36b961f
sub edx, 1
sub edx, 0xd36b961f
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, 0xaea4786
mov ecx, 0x58b9d584
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xa943ceb6
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xffc3d84d
jmp 0x100026c1
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x513307d8
jmp 0x100026c1
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
add edx, 0x6524fd10
sub edx, 1
sub edx, 0x6524fd10
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, 0xaf1900d
mov ecx, 0xdcf1ab46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
sub eax, 0x6886220d
add eax, ecx
add eax, 0x6886220d
mov dword [ebp - 0x48], eax
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
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, 0xaf1900d
mov ecx, 0x9b452a82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0x2809f046
jmp 0x100026c1
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x15b77fc5
jmp 0x100026c1
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0xedb59fe4
jmp 0x100026c1
mov eax, dword [ebp - 0x40]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0xa0], 0x5a5c4e7a
jmp 0x100026c1
mov dl, byte [ebp - 0x39]
mov eax, 0xbc08f0b7
mov ecx, 0xfce025a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
sub edx, 0xb25e7953
sub edx, 1
add edx, 0xb25e7953
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, 0xee261ed7
mov ecx, 0x1ecca1da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
sub edx, 0x1059a1fe
sub edx, 1
add edx, 0x1059a1fe
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, 0xee261ed7
mov ecx, 0x6d63b908
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xbb95ebf6
jmp 0x100026c1
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa0], 0xb3c0b40a
jmp 0x100026c1
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
sub edx, 0xd0b405e4
sub edx, 1
add edx, 0xd0b405e4
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, 0x4f3c1a97
mov ecx, 0xfba80d63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x30]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x34]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100173b0
call fcn.1000e1b0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
add edx, 0x513d4865
sub edx, 1
sub edx, 0x513d4865
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, 0x4f3c1a97
mov ecx, 0x26eefd54
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dl, byte [ebp - 0x29]
mov eax, 0x6677af25
mov ecx, 0x5bf75805
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa0], 0x53ac895a
jmp 0x100026c1
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
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, 0xe299e989
mov ecx, 0x3e5eed69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x24]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x28]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x251ea57f
add ecx, eax
sub ecx, 0x251ea57f
mov eax, dword [ebp - 0x68]
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.1000bfa0
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10069540]
mov ecx, dword [0x1006953c]
mov edx, eax
sub edx, 0xfc9f162d
sub edx, 1
add edx, 0xfc9f162d
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, 0xe299e989
mov ecx, 0xa30ca100
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov dword [ebp - 0xa0], 0xe92d38ae
jmp 0x100026c1
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
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 esi, esi
sub esi, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1c]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x5bf75805
jmp 0x100026c1
mov dword [ebp - 0xa0], 0x9fbd7bee
jmp 0x100026c1
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov dword [ebp - 0xa0], 0x44b0575f
jmp 0x100026c1
mov ax, word [ebp - 0x18]
add ax, 0x4c4c
add ax, 1
sub ax, 0x4c4c
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa0], 0xfa3d9dd7
jmp 0x100026c1
mov eax, dword [ebp - 0x6c]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xa0], 0x15b77fc5
jmp 0x100026c1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa0], 0x3e35a81f
jmp 0x100026c1
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0xddf06aa3
jmp 0x100026c1
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xffc3d84d
jmp 0x100026c1
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
mov edx, ecx
add edx, 0x1504a91b
sub edx, 1
sub edx, 0x1504a91b
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, 0x3346ae8a
mov ecx, 0x16f709bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov ecx, dword [0x10069540]
mov eax, dword [0x1006953c]
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, 0x3346ae8a
mov ecx, 0xdd6c2e5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x100026c1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000b240
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0xe15179be
jmp 0x100026c1
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0x771d6dd6
jmp 0x100026c1
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xb75adc2
jmp 0x100026c1
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x1a8e0e23
jmp 0x100026c1
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0xdcf1ab46
jmp 0x100026c1
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x1ecca1da
jmp 0x100026c1
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100173b0
call fcn.1000e1b0
add esp, 8
mov dword [ebp - 0xa0], 0xfba80d63
jmp 0x100026c1
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x28]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xcf243898
add ecx, eax
sub ecx, 0xcf243898
mov eax, dword [ebp - 0x68]
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.1000bfa0
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xa0], 0x3e5eed69
jmp 0x100026c1
mov dword [ebp - 0xa0], 0x16f709bb
jmp 0x10001227