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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1b4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [0x10069804]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1b8], 0x9eff7ded
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
sub eax, 0x8692f57d
je 0x10004966
jmp 0x100019d5
mov eax, dword [ebp - 0x1c0]
sub eax, 0x86c86e78
je 0x100042ff
jmp 0x100019eb
mov eax, dword [ebp - 0x1c0]
sub eax, 0x87767d23
je 0x1000401d
jmp 0x10001a01
mov eax, dword [ebp - 0x1c0]
sub eax, 0x8943bdc0
je 0x10004932
jmp 0x10001a17
mov eax, dword [ebp - 0x1c0]
sub eax, 0x89d2d2ae
je 0x100047b8
jmp 0x10001a2d
mov eax, dword [ebp - 0x1c0]
sub eax, 0x8af543e9
je 0x100028ce
jmp 0x10001a43
mov eax, dword [ebp - 0x1c0]
sub eax, 0x8d3ca0eb
je 0x100031d4
jmp 0x10001a59
mov eax, dword [ebp - 0x1c0]
sub eax, 0x8ea2c396
je 0x1000481e
jmp 0x10001a6f
mov eax, dword [ebp - 0x1c0]
sub eax, 0x8fe3272c
je 0x100049a8
jmp 0x10001a85
mov eax, dword [ebp - 0x1c0]
sub eax, 0x93f064c6
je 0x1000324a
jmp 0x10001a9b
mov eax, dword [ebp - 0x1c0]
sub eax, 0x96894749
je 0x10003d70
jmp 0x10001ab1
mov eax, dword [ebp - 0x1c0]
sub eax, 0x98412b52
je 0x10004388
jmp 0x10001ac7
mov eax, dword [ebp - 0x1c0]
sub eax, 0x986a1cdf
je 0x1000314a
jmp 0x10001add
mov eax, dword [ebp - 0x1c0]
sub eax, 0x99cf2756
je 0x100047c7
jmp 0x10001af3
mov eax, dword [ebp - 0x1c0]
sub eax, 0x9bc8e9a1
je 0x10002e5a
jmp 0x10001b09
mov eax, dword [ebp - 0x1c0]
sub eax, 0x9eff7ded
je 0x1000255e
jmp 0x10001b1f
mov eax, dword [ebp - 0x1c0]
sub eax, 0x9fa2f90a
je 0x100047f1
jmp 0x10001b35
mov eax, dword [ebp - 0x1c0]
sub eax, 0xa3f5c0ca
je 0x10002b8c
jmp 0x10001b4b
mov eax, dword [ebp - 0x1c0]
sub eax, 0xa415ba5c
je 0x10002a1e
jmp 0x10001b61
mov eax, dword [ebp - 0x1c0]
sub eax, 0xa4705614
je 0x100030a8
jmp 0x10001b77
mov eax, dword [ebp - 0x1c0]
sub eax, 0xa5a0dc9e
je 0x10002a03
jmp 0x10001b8d
mov eax, dword [ebp - 0x1c0]
sub eax, 0xaaf6eca5
je 0x1000414f
jmp 0x10001ba3
mov eax, dword [ebp - 0x1c0]
sub eax, 0xae7fc026
je 0x100040dc
jmp 0x10001bb9
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb1fd169a
je 0x10004536
jmp 0x10001bcf
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb23d0145
je 0x10003c5d
jmp 0x10001be5
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb25c0ea6
je 0x10002ef8
jmp 0x10001bfb
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb5f36065
je 0x100047e2
jmp 0x10001c11
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb653f382
je 0x100034d2
jmp 0x10001c27
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb6c0a39f
je 0x1000480f
jmp 0x10001c3d
mov eax, dword [ebp - 0x1c0]
sub eax, 0xb754f0f8
je 0x10003709
jmp 0x10001c53
mov eax, dword [ebp - 0x1c0]
sub eax, 0xbbf61e88
je 0x10004839
jmp 0x10001c69
mov eax, dword [ebp - 0x1c0]
sub eax, 0xbbfe7fec
je 0x100045bf
jmp 0x10001c7f
mov eax, dword [ebp - 0x1c0]
sub eax, 0xbd41f0c8
je 0x10004379
jmp 0x10001c95
mov eax, dword [ebp - 0x1c0]
sub eax, 0xc408dc61
je 0x10003ec9
jmp 0x10001cab
mov eax, dword [ebp - 0x1c0]
sub eax, 0xc70d4f2a
je 0x100033eb
jmp 0x10001cc1
mov eax, dword [ebp - 0x1c0]
sub eax, 0xc936bd60
je 0x10004800
jmp 0x10001cd7
mov eax, dword [ebp - 0x1c0]
sub eax, 0xcad2a916
je 0x10003e78
jmp 0x10001ced
mov eax, dword [ebp - 0x1c0]
sub eax, 0xcc1d4509
je 0x10002d16
jmp 0x10001d03
mov eax, dword [ebp - 0x1c0]
sub eax, 0xcc417fcf
je 0x100049c3
jmp 0x10001d19
mov eax, dword [ebp - 0x1c0]
sub eax, 0xd0bdc239
je 0x100045da
jmp 0x10001d2f
mov eax, dword [ebp - 0x1c0]
sub eax, 0xd78b0819
je 0x10004947
jmp 0x10001d45
mov eax, dword [ebp - 0x1c0]
sub eax, 0xd947452b
je 0x10004908
jmp 0x10001d5b
mov eax, dword [ebp - 0x1c0]
sub eax, 0xdcc245c0
je 0x1000485d
jmp 0x10001d71
mov eax, dword [ebp - 0x1c0]
sub eax, 0xdf993b17
je 0x100025f4
jmp 0x10001d87
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe082c526
je 0x10003694
jmp 0x10001d9d
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe0a6d66f
je 0x10002d84
jmp 0x10001db3
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe0f82fcf
je 0x100045b0
jmp 0x10001dc9
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe17018a4
je 0x100049ed
jmp 0x10001ddf
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe1c779fc
je 0x100026c7
jmp 0x10001df5
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe4cd2242
je 0x100047a9
jmp 0x10001e0b
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe4d24731
je 0x10002b7d
jmp 0x10001e21
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe5de70b7
je 0x10003099
jmp 0x10001e37
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe609907f
je 0x10004443
jmp 0x10001e4d
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe6206675
je 0x10004658
jmp 0x10001e63
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe629d841
je 0x100043cd
jmp 0x10001e79
mov eax, dword [ebp - 0x1c0]
sub eax, 0xe86b4737
je 0x1000333a
jmp 0x10001e8f
mov eax, dword [ebp - 0x1c0]
sub eax, 0xec2c8b54
je 0x100043ac
jmp 0x10001ea5
mov eax, dword [ebp - 0x1c0]
sub eax, 0xec4b0d0c
je 0x100039f5
jmp 0x10001ebb
mov eax, dword [ebp - 0x1c0]
sub eax, 0xecd22f6d
je 0x10002677
jmp 0x10001ed1
mov eax, dword [ebp - 0x1c0]
sub eax, 0xee5ed123
je 0x100036fa
jmp 0x10001ee7
mov eax, dword [ebp - 0x1c0]
sub eax, 0xf0a8f648
je 0x10002686
jmp 0x10001efd
mov eax, dword [ebp - 0x1c0]
sub eax, 0xf2bfefdb
je 0x1000339a
jmp 0x10001f13
mov eax, dword [ebp - 0x1c0]
sub eax, 0xf44662f3
je 0x10003d8e
jmp 0x10001f29
mov eax, dword [ebp - 0x1c0]
sub eax, 0xf978102c
je 0x10003bb2
jmp 0x10001f3f
mov eax, dword [ebp - 0x1c0]
sub eax, 0xfc5f473a
je 0x1000421d
push eax
mov eax, esp
mov dword [ebp - 0x19c], eax
push eax
mov eax, esp
mov dword [ebp - 0x198], eax
push eax
mov eax, esp
mov dword [ebp - 0x194], eax
push eax
mov eax, esp
mov dword [ebp - 0x190], eax
push eax
mov eax, esp
mov dword [ebp - 0x18c], eax
push eax
mov eax, esp
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1b8], 0x4e1362e4
jmp 0x10004afc
mov eax, dword [ebp - 0x1bc]
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x1a0], eax
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0x99cf2756
mov ecx, 0xecd22f6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xf0a8f648
jmp 0x10004afc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010880
add esp, 0xc
mov dword [ebp - 0x1b8], 0xe1c779fc
jmp 0x10004afc
mov eax, dword [ebp - 0x1a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x1a8], eax
mov eax, 0x2d55313a
mov ecx, 0x74468f58
cmp dword [ebp - 0x1a8], 0
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xfc5f473a
jmp 0x10004afc
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1b8], 0xa415ba5c
jmp 0x10004afc
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
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 dword [ebp - 0x1b8], 0x62569640
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xfc5f473a
jmp 0x10004afc
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x1b8], 0x60e72246
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0xb6c0a39f
mov ecx, 0xe0a6d66f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x1541a270
jmp 0x10004afc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
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, 0x8ea2c396
mov ecx, 0x1b48604f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x4ac5b766
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xa4705614
jmp 0x10004afc
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
mov edx, eax
sub edx, 0xef695c7
sub edx, 1
add edx, 0xef695c7
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, 0x54c8ad31
mov ecx, 0x1d68527d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov eax, dword [ebp - 0x16c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x165], al
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
add edx, 0xa743c97b
sub edx, 1
sub edx, 0xa743c97b
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, 0x58500920
mov ecx, 0x8d3ca0eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
sub edx, 0x74d48f1d
sub edx, 1
add edx, 0x74d48f1d
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, 0x54c8ad31
mov ecx, 0x93f064c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dl, byte [ebp - 0x165]
mov eax, 0x7708cf92
mov ecx, 0x7abeec8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x764ec7ac
jmp 0x10004afc
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
mov edx, eax
sub edx, 0x95d5ff33
sub edx, 1
add edx, 0x95d5ff33
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, 0xe629d841
mov ecx, 0xc70d4f2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xfc5f473a
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x50faee1e
jmp 0x10004afc
mov eax, dword [ebp - 0x190]
movzx eax, word [eax]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
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, 0x6510e1b4
mov ecx, 0xee5ed123
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xb754f0f8
jmp 0x10004afc
mov eax, dword [ebp - 0x154]
add eax, 4
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b8], 0x25900774
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x36fe24f2
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x3d958e28
jmp 0x10004afc
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x134]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100109e0
add esp, 0xc
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x30e7685
add esi, eax
sub esi, 0x30e7685
mov eax, dword [ebp - 0x188]
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 - 0x184]
mov byte [eax], cl
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
add edx, 0x50ce8d01
sub edx, 1
sub edx, 0x50ce8d01
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, 0xe6206675
mov ecx, 0x96894749
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x158cf310
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
add edx, 0x91c2062f
sub edx, 1
sub edx, 0x91c2062f
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, 0x8943bdc0
mov ecx, 0x26a922bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
mov edx, eax
add edx, 0xc811a799
sub edx, 1
sub edx, 0xc811a799
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, 0xd78b0819
mov ecx, 0xc408dc61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov eax, dword [ebp - 0x190]
mov cx, word [ebp - 0x12a]
mov word [eax], cx
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
mov edx, eax
sub edx, 0x73f218b7
sub edx, 1
add edx, 0x73f218b7
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, 0xd78b0819
mov ecx, 0x3e5009bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
sub edx, 0x75bc1d46
sub edx, 1
add edx, 0x75bc1d46
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, 0x89d2d2ae
mov ecx, 0x79302b28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x61e4a098
jmp 0x10004afc
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1b4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x124], eax
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0x44b2984e
mov ecx, 0x29457250
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0x8fe3272c
mov ecx, 0xbd41f0c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x21159da3
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x11244b8f
jmp 0x10004afc
mov eax, dword [ebp - 0x164]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b8], 0x13f70475
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
mov edx, ecx
sub edx, 0xbda26fcb
sub edx, 1
add edx, 0xbda26fcb
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, 0xcc417fcf
mov ecx, 0xe609907f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0xcc417fcf
mov ecx, 0x673d4cae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov eax, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
mov ecx, dword [0x1006aaa8]
mov eax, dword [0x1006aaa4]
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, 0x66b5fa4
mov ecx, 0xe0f82fcf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xe082c526
jmp 0x10004afc
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1b8], 0x97a2b9
jmp 0x10004afc
mov eax, dword [ebp - 0x188]
mov dword [eax], 0
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x9511d8df
add edx, eax
sub edx, 0x9511d8df
mov eax, dword [ebp - 0x188]
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 - 0x184]
mov byte [eax], cl
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1b8], 0x499fb8eb
jmp 0x10004afc
mov eax, dword [0x1006aaa8]
mov ecx, dword [0x1006aaa4]
mov edx, eax
sub edx, 0xdefcdccb
sub edx, 1
add edx, 0xdefcdccb
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, 0xe17018a4
mov ecx, 0x78a85f7d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b8], eax
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xb23d0145
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x79302b28
jmp 0x10004afc
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1b8], 0xdf993b17
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x61408375
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xd21fa70
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xf17b88e
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xcc1d4509
jmp 0x10004afc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b8], 0x9bc8e9a1
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x34e5c374
jmp 0x10004afc
mov eax, dword [ebp - 0x1b4]
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 - 0x19c]
mov dword [eax], ecx
mov dword [ebp - 0x1b8], 0x2004a31e
jmp 0x10004afc
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1b8], 0x25a3cf43
jmp 0x10004afc
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1b8], 0x26a922bf
jmp 0x10004afc
mov eax, dword [ebp - 0x190]
mov cx, word [ebp - 0x12a]
mov word [eax], cx
mov dword [ebp - 0x1b8], 0xc408dc61
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0x45cd6a4b
jmp 0x10004afc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b8], 0x86c86e78
jmp 0x10004afc
mov dword [ebp - 0x1b8], 0xe609907f
jmp 0x10004afc
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x134]
add ecx, 0x906daca7
add ecx, eax
sub ecx, 0x906daca7
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100109e0
add esp, 0xc
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x5368ba3b
add esi, eax
add esi, 0x5368ba3b
mov eax, dword [ebp - 0x188]
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 - 0x184]
mov byte [eax], cl
mov dword [ebp - 0x1b8], 0x78a85f7d
jmp 0x100019b9