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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x1006d800]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
sub edx, 0x14f313e
sub edx, 1
add edx, 0x14f313e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xaa], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa9], al
mov dword [ebp - 0xb0], 0x8f55f6f8
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], eax
sub eax, 0x818076cf
je 0x100025c2
jmp 0x100016b4
mov eax, dword [ebp - 0xb8]
sub eax, 0x8221120c
je 0x1000243a
jmp 0x100016ca
mov eax, dword [ebp - 0xb8]
sub eax, 0x844ac3aa
je 0x10003855
jmp 0x100016e0
mov eax, dword [ebp - 0xb8]
sub eax, 0x85686e32
je 0x10003781
jmp 0x100016f6
mov eax, dword [ebp - 0xb8]
sub eax, 0x877556a7
je 0x10003713
jmp 0x1000170c
mov eax, dword [ebp - 0xb8]
sub eax, 0x87bbe77d
je 0x1000414f
jmp 0x10001722
mov eax, dword [ebp - 0xb8]
sub eax, 0x8b30db50
je 0x100043b5
jmp 0x10001738
mov eax, dword [ebp - 0xb8]
sub eax, 0x8b666062
je 0x10002472
jmp 0x1000174e
mov eax, dword [ebp - 0xb8]
sub eax, 0x8c4b4c19
je 0x1000289e
jmp 0x10001764
mov eax, dword [ebp - 0xb8]
sub eax, 0x8e3d8356
je 0x10004382
jmp 0x1000177a
mov eax, dword [ebp - 0xb8]
sub eax, 0x8ea3b16e
je 0x10002cc7
jmp 0x10001790
mov eax, dword [ebp - 0xb8]
sub eax, 0x8ef1016c
je 0x10003bf4
jmp 0x100017a6
mov eax, dword [ebp - 0xb8]
sub eax, 0x8f55f6f8
je 0x10002253
jmp 0x100017bc
mov eax, dword [ebp - 0xb8]
sub eax, 0x9295d4c1
je 0x1000233f
jmp 0x100017d2
mov eax, dword [ebp - 0xb8]
sub eax, 0x92d81a1c
je 0x1000303a
jmp 0x100017e8
mov eax, dword [ebp - 0xb8]
sub eax, 0x961fc798
je 0x10002b18
jmp 0x100017fe
mov eax, dword [ebp - 0xb8]
sub eax, 0x96d81ec9
je 0x100043e2
jmp 0x10001814
mov eax, dword [ebp - 0xb8]
sub eax, 0x995e0d74
je 0x100032ac
jmp 0x1000182a
mov eax, dword [ebp - 0xb8]
sub eax, 0x9ab84e9e
je 0x10004497
jmp 0x10001840
mov eax, dword [ebp - 0xb8]
sub eax, 0x9cd2748f
je 0x10003dac
jmp 0x10001856
mov eax, dword [ebp - 0xb8]
sub eax, 0x9ebbf710
je 0x100044a6
jmp 0x1000186c
mov eax, dword [ebp - 0xb8]
sub eax, 0xaed4aebc
je 0x10003ac9
jmp 0x10001882
mov eax, dword [ebp - 0xb8]
sub eax, 0xaf71062d
je 0x100037ae
jmp 0x10001898
mov eax, dword [ebp - 0xb8]
sub eax, 0xb362f670
je 0x1000421a
jmp 0x100018ae
mov eax, dword [ebp - 0xb8]
sub eax, 0xb392881b
je 0x10002947
jmp 0x100018c4
mov eax, dword [ebp - 0xb8]
sub eax, 0xb4203eda
je 0x10002c42
jmp 0x100018da
mov eax, dword [ebp - 0xb8]
sub eax, 0xb4b5b1ab
je 0x100029fd
jmp 0x100018f0
mov eax, dword [ebp - 0xb8]
sub eax, 0xb61abdf5
je 0x10002667
jmp 0x10001906
mov eax, dword [ebp - 0xb8]
sub eax, 0xb6295a64
je 0x10003346
jmp 0x1000191c
mov eax, dword [ebp - 0xb8]
sub eax, 0xb84d610e
je 0x1000242b
jmp 0x10001932
mov eax, dword [ebp - 0xb8]
sub eax, 0xb86ffaf9
je 0x10003122
jmp 0x10001948
mov eax, dword [ebp - 0xb8]
sub eax, 0xb9b39335
je 0x10003131
jmp 0x1000195e
mov eax, dword [ebp - 0xb8]
sub eax, 0xba931084
je 0x10002d3d
jmp 0x10001974
mov eax, dword [ebp - 0xb8]
sub eax, 0xbb8f8901
je 0x10004281
jmp 0x1000198a
mov eax, dword [ebp - 0xb8]
sub eax, 0xbd7d9df2
je 0x100037ed
jmp 0x100019a0
mov eax, dword [ebp - 0xb8]
sub eax, 0xc0ff1df2
je 0x10003d08
jmp 0x100019b6
mov eax, dword [ebp - 0xb8]
sub eax, 0xc64b6712
je 0x1000315e
jmp 0x100019cc
mov eax, dword [ebp - 0xb8]
sub eax, 0xcbc7acfa
je 0x1000388e
jmp 0x100019e2
mov eax, dword [ebp - 0xb8]
sub eax, 0xceb9749e
je 0x100036b0
jmp 0x100019f8
mov eax, dword [ebp - 0xb8]
sub eax, 0xcf570c08
je 0x1000441e
jmp 0x10001a0e
mov eax, dword [ebp - 0xb8]
sub eax, 0xcfb9ea19
je 0x10002397
jmp 0x10001a24
mov eax, dword [ebp - 0xb8]
sub eax, 0xd37b2ff7
je 0x10003583
jmp 0x10001a3a
mov eax, dword [ebp - 0xb8]
sub eax, 0xd45a100e
je 0x100037d2
jmp 0x10001a50
mov eax, dword [ebp - 0xb8]
sub eax, 0xd8dc54ef
je 0x100022a7
jmp 0x10001a66
mov eax, dword [ebp - 0xb8]
sub eax, 0xd94cccdc
je 0x1000412b
jmp 0x10001a7c
mov eax, dword [ebp - 0xb8]
sub eax, 0xdd1f1e9d
je 0x10002bc5
jmp 0x10001a92
mov eax, dword [ebp - 0xb8]
sub eax, 0xde66e116
je 0x1000408c
jmp 0x10001aa8
mov eax, dword [ebp - 0xb8]
sub eax, 0xdec74aa7
je 0x10002ac0
jmp 0x10001abe
mov eax, dword [ebp - 0xb8]
sub eax, 0xdfad0b06
je 0x10003523
jmp 0x10001ad4
mov eax, dword [ebp - 0xb8]
sub eax, 0xe0e666b3
je 0x100039d8
jmp 0x10001aea
mov eax, dword [ebp - 0xb8]
sub eax, 0xe1eb5b58
je 0x100044d0
jmp 0x10001b00
mov eax, dword [ebp - 0xb8]
sub eax, 0xe278a750
je 0x1000329d
jmp 0x10001b16
mov eax, dword [ebp - 0xb8]
sub eax, 0xe632e522
je 0x10002dab
jmp 0x10001b2c
mov eax, dword [ebp - 0xb8]
sub eax, 0xe92222d1
je 0x10003058
jmp 0x10001b42
mov eax, dword [ebp - 0xb8]
sub eax, 0xedac7943
je 0x100043f1
jmp 0x10001b58
mov eax, dword [ebp - 0xb8]
sub eax, 0xedb926a9
je 0x10003cf9
jmp 0x10001b6e
mov eax, dword [ebp - 0xb8]
sub eax, 0xee7e075e
je 0x10002a3e
jmp 0x10001b84
mov eax, dword [ebp - 0xb8]
sub eax, 0xeeb09348
je 0x10003427
jmp 0x10001b9a
mov eax, dword [ebp - 0xb8]
sub eax, 0xefdb4a11
je 0x100045ae
jmp 0x10001bb0
mov eax, dword [ebp - 0xb8]
sub eax, 0xefe580d9
je 0x100032fd
jmp 0x10001bc6
mov eax, dword [ebp - 0xb8]
sub eax, 0xf0e59d01
je 0x1000440f
jmp 0x10001bdc
mov eax, dword [ebp - 0xb8]
sub eax, 0xf1c97cc9
je 0x100045f7
jmp 0x10001bf2
mov eax, dword [ebp - 0xb8]
sub eax, 0xf2600c7d
je 0x10003ff5
jmp 0x10001c08
mov eax, dword [ebp - 0xb8]
sub eax, 0xf3ad1d60
je 0x100044e2
jmp 0x10001c1e
mov eax, dword [ebp - 0xb8]
sub eax, 0xf417e05d
je 0x100027c9
mov bl, byte [ebp - 0xaa]
mov dh, byte [ebp - 0xa9]
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, 0x378df29b
mov ecx, 0xd8dc54ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
push eax
mov eax, esp
mov dword [ebp - 0xa8], eax
push eax
mov eax, esp
mov dword [ebp - 0xa4], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xa0], eax
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
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, 0x378df29b
mov ecx, 0x9295d4c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x6ad38913
jmp 0x1000468c
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
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
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
sub edx, 0x77878f28
sub edx, 1
add edx, 0x77878f28
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, 0x96d81ec9
mov ecx, 0xb84d610e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x8221120c
jmp 0x1000468c
mov ecx, dword [ebp - 0xb4]
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 eax, dword [ebp - 0xa8]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xb0], 0x8b666062
jmp 0x1000468c
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010ac0
add esp, 0xc
mov dword [ebp - 0xb0], 0x26cec323
jmp 0x1000468c
mov eax, dword [ebp - 0xa8]
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 - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x65], al
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
add edx, 0x9dea70fe
sub edx, 1
sub edx, 0x9dea70fe
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, 0x4373c085
mov ecx, 0xb61abdf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dl, byte [ebp - 0x65]
mov eax, 0x74eccbf6
mov ecx, 0x55170ae1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
sub edx, 0xbb115222
sub edx, 1
add edx, 0xbb115222
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, 0xf0e59d01
mov ecx, 0x7b67ffdc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
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 - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
add edx, 0xae0f3dbc
sub edx, 1
sub edx, 0xae0f3dbc
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, 0xcf570c08
mov ecx, 0xb4b5b1ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x2cd7f06b
jmp 0x1000468c
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 ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov dword [ebp - 0xb0], 0x40da5bf5
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x71292cd7
jmp 0x1000468c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0x1a424ba8
sub edx, 1
sub edx, 0x1a424ba8
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, 0xd94cccdc
mov ecx, 0xf5beb56b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
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, 0x72d64dc0
mov ecx, 0x558e9c77
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x58]
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 - 0x54], eax
mov dword [ebp - 0xb0], 0xf8ac6d9c
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
add edx, 0x259d1104
sub edx, 1
sub edx, 0x259d1104
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, 0x74e0af72
mov ecx, 0xba931084
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
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, 0x74e0af72
mov ecx, 0xe632e522
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
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, 0xf69731de
mov ecx, 0x6490787b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dl, byte [ebp - 0x4d]
mov eax, 0xe92222d1
mov ecx, 0xc64b6712
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
sub edx, 0xb0f2196f
sub edx, 1
add edx, 0xb0f2196f
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, 0x9ebbf710
mov ecx, 0x37dfc826
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0xb9b39335
jmp 0x1000468c
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb0], 0xfd92e077
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
mov edx, ecx
sub edx, 0xfa2b7f0
sub edx, 1
add edx, 0xfa2b7f0
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, 0x87bbe77d
mov ecx, 0x2e338c4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x995e0d74
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0xf22dfc43
sub edx, 1
sub edx, 0xf22dfc43
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, 0x6498e0ca
mov ecx, 0xefe580d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
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, 0x7ed60677
mov ecx, 0xb6295a64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0x5e3a5c28
sub edx, 1
sub edx, 0x5e3a5c28
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, 0x7ed60677
mov ecx, 0x2af957c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x48]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [ebp - 0xb0], 0x5965e0fe
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x3606fc06
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
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, 0xf3ad1d60
mov ecx, 0x3757939a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ax, word [ebp - 0x40]
movzx eax, ax
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x3d], al
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
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, 0x5170806a
mov ecx, 0x877556a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
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, 0x4cd87ca6
mov ecx, 0x85686e32
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x360d49f6
jmp 0x1000468c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub eax, 0x1d982ae9
add eax, 0x18
add eax, 0x1d982ae9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xb0], 0xd45a100e
jmp 0x1000468c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xb0], 0xbd7d9df2
jmp 0x1000468c
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
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 - 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], 0x1001c1a0
call fcn.10012e30
add esp, 8
mov edx, eax
mov eax, 0x844ac3aa
mov ecx, 0x5a91e6d4
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb0], 0xcbc7acfa
jmp 0x1000468c
mov ecx, dword [0x1006eb48]
mov eax, dword [0x1006eb44]
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, 0x406cd9da
mov ecx, 0x4e75f853
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x30]
sub edx, 0xb2632f13
add edx, eax
add edx, 0xb2632f13
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x34]
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, 0x8f2e54bc
add eax, ecx
sub eax, 0x8f2e54bc
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x78]
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 - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0x1f756748
sub edx, 1
sub edx, 0x1f756748
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, 0xbb8f8901
mov ecx, 0xfce5b482
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
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, 0xff04310e
mov ecx, 0xf85ba30c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
sub ax, 0xa307
add ax, 1
add ax, 0xa307
mov word [ebp - 0x1a], ax
mov dword [ebp - 0xb0], 0x14278d55
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x5965e0fe
jmp 0x1000468c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xb0], 0x3f22920b
jmp 0x1000468c
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
sub edx, 0x9100f849
sub edx, 1
add edx, 0x9100f849
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, 0x176c55d3
mov ecx, 0x17b89ae9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x71292cd7
jmp 0x1000468c
mov eax, dword [ebp - 0xa8]
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 - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0xc5e52901
sub edx, 1
sub edx, 0xc5e52901
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, 0xefdb4a11
mov ecx, 0x23788ff8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb0], 0x961fc798
jmp 0x1000468c
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 dword [ebp - 0xb0], 0x2e338c4c
jmp 0x1000468c
mov ax, word [ebp - 0x40]
mov eax, dword [ebp - 0x80]
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0xb62b0691
sub edx, 1
sub edx, 0xb62b0691
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, 0xf4a3cde8
mov ecx, 0x4d8c0330
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov eax, dword [0x1006eb48]
mov ecx, dword [0x1006eb44]
mov edx, eax
add edx, 0xbe17645e
sub edx, 1
sub edx, 0xbe17645e
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, 0xf1c97cc9
mov ecx, 0xb88b73c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb0], eax
jmp 0x1000468c
mov dword [ebp - 0xb0], 0xe0e666b3
jmp 0x1000468c
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb0], 0x2ad8dcdf
jmp 0x1000468c
mov dword [ebp - 0xb0], 0xcfb9ea19
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x76e03574
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x8c4b4c19
jmp 0x1000468c
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
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 - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xb0], 0xb392881b
jmp 0x1000468c
mov dword [ebp - 0xb0], 0x1bab8b49
jmp 0x1000468c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb0], 0x37dfc826
jmp 0x1000468c
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xb0], 0x68105f1b
jmp 0x1000468c
mov dword [ebp - 0xb0], 0xd37b2ff7
jmp 0x1000468c
mov eax, dword [ebp - 0xa8]
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 - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xb0], 0xde66e116
jmp 0x1000468c
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
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]
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 ecx, dword [ebp - 0x30]
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 - 0x74]
mov ecx, dword [ebp - 0x34]
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 [ebp - 0x78]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xb0], 0xb88b73c
jmp 0x10001698