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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10096080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa8], 0xb6d3d54e
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x88a067e1
je 0x1000f065
jmp 0x1000ea24
mov eax, dword [ebp - 0xb0]
sub eax, 0x8e266356
je 0x1000f2ee
jmp 0x1000ea3a
mov eax, dword [ebp - 0xb0]
sub eax, 0x938c9551
je 0x1000f6a3
jmp 0x1000ea50
mov eax, dword [ebp - 0xb0]
sub eax, 0x95211421
je 0x1000f0ff
jmp 0x1000ea66
mov eax, dword [ebp - 0xb0]
sub eax, 0x9bcc6e66
je 0x1000f33f
jmp 0x1000ea7c
mov eax, dword [ebp - 0xb0]
sub eax, 0xa210cef1
je 0x1000fc66
jmp 0x1000ea92
mov eax, dword [ebp - 0xb0]
sub eax, 0xa4af96fd
je 0x1000f10e
jmp 0x1000eaa8
mov eax, dword [ebp - 0xb0]
sub eax, 0xa9774936
je 0x1000fc2f
jmp 0x1000eabe
mov eax, dword [ebp - 0xb0]
sub eax, 0xab6c4387
je 0x1000fef7
jmp 0x1000ead4
mov eax, dword [ebp - 0xb0]
sub eax, 0xabe3974d
je 0x1000fe10
jmp 0x1000eaea
mov eax, dword [ebp - 0xb0]
sub eax, 0xb56bd4d7
je 0x1000f53e
jmp 0x1000eb00
mov eax, dword [ebp - 0xb0]
sub eax, 0xb6d3d54e
je 0x1000ef7d
jmp 0x1000eb16
mov eax, dword [ebp - 0xb0]
sub eax, 0xb774bdd5
je 0x1000f2d0
jmp 0x1000eb2c
mov eax, dword [ebp - 0xb0]
sub eax, 0xb81105ab
je 0x1000fe01
jmp 0x1000eb42
mov eax, dword [ebp - 0xb0]
sub eax, 0xbaba5361
je 0x1000f506
jmp 0x1000eb58
mov eax, dword [ebp - 0xb0]
sub eax, 0xc196a8f2
je 0x1000fde1
jmp 0x1000eb6e
mov eax, dword [ebp - 0xb0]
sub eax, 0xc3c4cb54
je 0x1000f54d
jmp 0x1000eb84
mov eax, dword [ebp - 0xb0]
sub eax, 0xc478716c
je 0x1000fa38
jmp 0x1000eb9a
mov eax, dword [ebp - 0xb0]
sub eax, 0xc4cff0e7
je 0x1000f0ae
jmp 0x1000ebb0
mov eax, dword [ebp - 0xb0]
sub eax, 0xdb2976e2
je 0x1000fe3f
jmp 0x1000ebc6
mov eax, dword [ebp - 0xb0]
sub eax, 0xe0ffc3b4
je 0x1000f72f
jmp 0x1000ebdc
mov eax, dword [ebp - 0xb0]
sub eax, 0xe2de8d6a
je 0x1000f70f
jmp 0x1000ebf2
mov eax, dword [ebp - 0xb0]
sub eax, 0xf2d4f767
je 0x1000f4e8
jmp 0x1000ec08
mov eax, dword [ebp - 0xb0]
sub eax, 0xf76384e0
je 0x1000f67d
jmp 0x1000ec1e
mov eax, dword [ebp - 0xb0]
sub eax, 0x3e09f0
je 0x1000ff77
jmp 0x1000ec34
mov eax, dword [ebp - 0xb0]
sub eax, 0x73d3cf
je 0x1000f8c5
jmp 0x1000ec4a
mov eax, dword [ebp - 0xb0]
sub eax, 0x532eade
je 0x1000f047
jmp 0x1000ec60
mov eax, dword [ebp - 0xb0]
sub eax, 0xf854fee
je 0x1000f4c3
jmp 0x1000ec76
mov eax, dword [ebp - 0xb0]
sub eax, 0x19a8771e
je 0x1000f59e
jmp 0x1000ec8c
mov eax, dword [ebp - 0xb0]
sub eax, 0x1d44eaf0
je 0x1000fe8c
jmp 0x1000eca2
mov eax, dword [ebp - 0xb0]
sub eax, 0x201368a2
je 0x1000fa1a
jmp 0x1000ecb8
mov eax, dword [ebp - 0xb0]
sub eax, 0x20605b25
je 0x1000f68c
jmp 0x1000ecce
mov eax, dword [ebp - 0xb0]
sub eax, 0x20a5ba6d
je 0x1000f856
jmp 0x1000ece4
mov eax, dword [ebp - 0xb0]
sub eax, 0x2114483c
je 0x1000f3ad
jmp 0x1000ecfa
mov eax, dword [ebp - 0xb0]
sub eax, 0x27d226c6
je 0x1000fb30
jmp 0x1000ed10
mov eax, dword [ebp - 0xb0]
sub eax, 0x2a21eb5b
je 0x1000f242
jmp 0x1000ed26
mov eax, dword [ebp - 0xb0]
sub eax, 0x2bf00aa6
je 0x1000f7d1
jmp 0x1000ed3c
mov eax, dword [ebp - 0xb0]
sub eax, 0x2e9965fe
je 0x1000f3bc
jmp 0x1000ed52
mov eax, dword [ebp - 0xb0]
sub eax, 0x2ed6bc8a
je 0x1000fcba
jmp 0x1000ed68
mov eax, dword [ebp - 0xb0]
sub eax, 0x2f450a35
je 0x1000fc3e
jmp 0x1000ed7e
mov eax, dword [ebp - 0xb0]
sub eax, 0x3c7563c8
je 0x1000fce6
jmp 0x1000ed94
mov eax, dword [ebp - 0xb0]
sub eax, 0x3cdd876b
je 0x1000fc97
jmp 0x1000edaa
mov eax, dword [ebp - 0xb0]
sub eax, 0x413db22c
je 0x1000fd5c
jmp 0x1000edc0
mov eax, dword [ebp - 0xb0]
sub eax, 0x42b362c7
je 0x1000f6f6
jmp 0x1000edd6
mov eax, dword [ebp - 0xb0]
sub eax, 0x44af7f1c
je 0x1001004b
jmp 0x1000edec
mov eax, dword [ebp - 0xb0]
sub eax, 0x47c55ccc
je 0x1000fadf
jmp 0x1000ee02
mov eax, dword [ebp - 0xb0]
sub eax, 0x49beaac9
je 0x1000ff1e
jmp 0x1000ee18
mov eax, dword [ebp - 0xb0]
sub eax, 0x4b66747a
je 0x1000f147
jmp 0x1000ee2e
mov eax, dword [ebp - 0xb0]
sub eax, 0x4d4dac34
je 0x1000ff09
jmp 0x1000ee44
mov eax, dword [ebp - 0xb0]
sub eax, 0x4dd66a66
je 0x1000f42a
jmp 0x1000ee5a
mov eax, dword [ebp - 0xb0]
sub eax, 0x52b16eb1
je 0x1000fc88
jmp 0x1000ee70
mov eax, dword [ebp - 0xb0]
sub eax, 0x5fcc4440
je 0x1000f520
jmp 0x1000ee86
mov eax, dword [ebp - 0xb0]
sub eax, 0x6119fc02
je 0x1000f1cc
jmp 0x1000ee9c
mov eax, dword [ebp - 0xb0]
sub eax, 0x61c65f87
je 0x1000f94a
jmp 0x1000eeb2
mov eax, dword [ebp - 0xb0]
sub eax, 0x667e95cf
je 0x1000faba
jmp 0x1000eec8
mov eax, dword [ebp - 0xb0]
sub eax, 0x67fe4127
je 0x1000f6d3
jmp 0x1000eede
mov eax, dword [ebp - 0xb0]
sub eax, 0x6a033561
je 0x1000f8d4
jmp 0x1000eef4
mov eax, dword [ebp - 0xb0]
sub eax, 0x70dea348
je 0x1000fe30
jmp 0x1000ef0a
mov eax, dword [ebp - 0xb0]
sub eax, 0x71b2a4de
je 0x1000f4b4
jmp 0x1000ef20
mov eax, dword [ebp - 0xb0]
sub eax, 0x779c8708
je 0x1000f7e0
jmp 0x1000ef36
mov eax, dword [ebp - 0xb0]
sub eax, 0x77ebea48
je 0x1000fc4d
jmp 0x1000ef4c
mov eax, dword [ebp - 0xb0]
sub eax, 0x7b4158eb
je 0x1000fdf0
jmp 0x1000ef62
mov eax, dword [ebp - 0xb0]
sub eax, 0x7bf457fd
je 0x1000f780
jmp 0x1000ef78
jmp 0x10010064
mov eax, dword [ebp - 0xac]
push eax
mov ecx, esp
mov dword [ebp - 0x98], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x94], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x90], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
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
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x9c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1002ed40
add esp, 0xc
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
setne al
and al, 1
mov byte [ebp - 0x69], al
mov dword [ebp - 0xa8], 0x532eade
jmp 0x10010064
mov dl, byte [ebp - 0x69]
mov eax, 0x88a067e1
mov ecx, 0xa4af96fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
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, 0xb81105ab
mov ecx, 0xc4cff0e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
add edx, 0x77b26af0
sub edx, 1
sub edx, 0x77b26af0
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, 0xb81105ab
mov ecx, 0x95211421
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x7b4158eb
jmp 0x10010064
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0x18]
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 - 0xa8], 0x4b66747a
jmp 0x10010064
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa4]
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 - 0x94]
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 dword [ebp - 0x68], eax
mov dword [ebp - 0xa8], 0x6119fc02
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
add edx, 0xb0a048d2
sub edx, 1
sub edx, 0xb0a048d2
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, 0xabe3974d
mov ecx, 0x2a21eb5b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x61], al
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
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, 0xabe3974d
mov ecx, 0xb774bdd5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dl, byte [ebp - 0x61]
mov eax, 0x2e9965fe
mov ecx, 0x8e266356
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
add edx, 0xce547e85
sub edx, 1
sub edx, 0xce547e85
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, 0x70dea348
mov ecx, 0x9bcc6e66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
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, 0x70dea348
mov ecx, 0x2114483c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x7b4158eb
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
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, 0xdb2976e2
mov ecx, 0x4dd66a66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x90]
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 - 0x60], eax
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
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, 0xdb2976e2
mov ecx, 0x71b2a4de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0xf854fee
jmp 0x10010064
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa8], 0xf2d4f767
jmp 0x10010064
mov edx, dword [ebp - 0x5c]
mov eax, 0xbaba5361
mov ecx, 0xc3c4cb54
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa8], 0x5fcc4440
jmp 0x10010064
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0xb56bd4d7
jmp 0x10010064
mov dword [ebp - 0xa8], 0x7b4158eb
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
sub edx, 0xd35ce032
sub edx, 1
add edx, 0xd35ce032
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, 0x1d44eaf0
mov ecx, 0x19a8771e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
sub edx, 0xbbf54d1e
sub edx, 1
add edx, 0xbbf54d1e
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, 0x1d44eaf0
mov ecx, 0xf76384e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x20605b25
jmp 0x10010064
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa8], 0x938c9551
jmp 0x10010064
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
sub ecx, 0x7612db54
add ecx, eax
add ecx, 0x7612db54
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [ebp - 0xa8], 0x67fe4127
jmp 0x10010064
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], 0x42b362c7
jmp 0x10010064
mov eax, dword [ebp - 0x44]
movzx eax, word [eax + 2]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa8], 0xe2de8d6a
jmp 0x10010064
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x40]
mov eax, 0x3cdd876b
mov ecx, 0xe0ffc3b4
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
sub edx, 0x8ac22aea
sub edx, 1
add edx, 0x8ac22aea
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, 0xab6c4387
mov ecx, 0x7bf457fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
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, 0xab6c4387
mov ecx, 0x2bf00aa6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x779c8708
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
sub edx, 0x27bafb48
sub edx, 1
add edx, 0x27bafb48
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, 0x4d4dac34
mov ecx, 0x20a5ba6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x3c]
add eax, 0xa1dc8e6f
add eax, 0x18
sub eax, 0xa1dc8e6f
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x34], eax
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
sub edx, 0x5327c407
sub edx, 1
add edx, 0x5327c407
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, 0x4d4dac34
mov ecx, 0x73d3cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x6a033561
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
sub edx, 0xb244c077
sub edx, 1
add edx, 0xb244c077
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, 0x49beaac9
mov ecx, 0x61c65f87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x34]
movzx eax, word [eax + 0x10]
mov ecx, dword [ebp - 0x38]
sub ecx, 0x1599acf1
add ecx, eax
add ecx, 0x1599acf1
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
imul edx, eax, 0x28
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1003cedd
call fcn.100326b0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x2d], al
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
add edx, 0xc0d4d318
sub edx, 1
sub edx, 0xc0d4d318
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, 0x49beaac9
mov ecx, 0x201368a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dl, byte [ebp - 0x2d]
mov eax, 0xc478716c
mov ecx, 0x2f450a35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x40741b0
add eax, ecx
sub eax, 0x40741b0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa8], 0x667e95cf
jmp 0x10010064
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa8], 0x47c55ccc
jmp 0x10010064
mov eax, dword [0x1009771c]
mov ecx, dword [0x10097718]
mov edx, eax
sub edx, 0xb3a250e9
sub edx, 1
add edx, 0xb3a250e9
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, 0x3e09f0
mov ecx, 0x27d226c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
add ecx, 0x9c637b2c
add ecx, eax
sub ecx, 0x9c637b2c
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1002eea0
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov esi, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xf2caca4f
add esi, eax
sub esi, 0xf2caca4f
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
add edx, 0x7297a4ed
sub edx, 1
sub edx, 0x7297a4ed
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, 0x3e09f0
mov ecx, 0xa9774936
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x2f450a35
jmp 0x10010064
mov dword [ebp - 0xa8], 0x77ebea48
jmp 0x10010064
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
mov word [ebp - 0x1e], ax
mov dword [ebp - 0xa8], 0xa210cef1
jmp 0x10010064
mov cx, word [ebp - 0x1e]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x7c]
mov word [eax], cx
mov dword [ebp - 0xa8], 0x52b16eb1
jmp 0x10010064
mov dword [ebp - 0xa8], 0x67fe4127
jmp 0x10010064
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x2ed6bc8a
jmp 0x10010064
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa8], 0x3c7563c8
jmp 0x10010064
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
add edx, 0x8b3bf873
sub edx, 1
sub edx, 0x8b3bf873
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, 0x44af7f1c
mov ecx, 0x413db22c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1009771c]
mov eax, dword [0x10097718]
mov edx, ecx
sub edx, 0x9239029e
sub edx, 1
add edx, 0x9239029e
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, 0x44af7f1c
mov ecx, 0xc196a8f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10010064
mov dword [ebp - 0xa8], 0x7b4158eb
jmp 0x10010064
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1002df30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa8], 0xc4cff0e7
jmp 0x10010064
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], 0x2a21eb5b
jmp 0x10010064
mov dword [ebp - 0xa8], 0x9bcc6e66
jmp 0x10010064
mov eax, dword [ebp - 0x90]
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 - 0xa8], 0x4dd66a66
jmp 0x10010064
mov eax, dword [ebp - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa8], 0x19a8771e
jmp 0x10010064
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], 0x7bf457fd
jmp 0x10010064
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], 0x20a5ba6d
jmp 0x10010064
mov eax, dword [ebp - 0x34]
movzx eax, word [eax + 0x10]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
add ecx, 0x971607ed
add ecx, eax
sub ecx, 0x971607ed
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1003cedd
call fcn.100326b0
add esp, 8
mov dword [ebp - 0xa8], 0x61c65f87
jmp 0x10010064
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
add ecx, 0x81f353c0
add ecx, eax
sub ecx, 0x81f353c0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1002eea0
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x98]
mov esi, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x5bd2f539
add esi, eax
sub esi, 0x5bd2f539
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov dword [ebp - 0xa8], 0x27d226c6
jmp 0x10010064
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x413db22c
jmp 0x1000ea08