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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x198
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a0], eax
mov eax, dword [0x1003a600]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x19c], 0x10e0756c
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a4], eax
sub eax, 0x826af8fe
je 0x10002331
jmp 0x10001205
mov eax, dword [ebp - 0x1a4]
sub eax, 0x916d024f
je 0x1000249d
jmp 0x1000121b
mov eax, dword [ebp - 0x1a4]
sub eax, 0x932d1ce2
je 0x100018d6
jmp 0x10001231
mov eax, dword [ebp - 0x1a4]
sub eax, 0x958ef043
je 0x100025f5
jmp 0x10001247
mov eax, dword [ebp - 0x1a4]
sub eax, 0x95e1d4fb
je 0x100024bc
jmp 0x1000125d
mov eax, dword [ebp - 0x1a4]
sub eax, 0x978adbf8
je 0x100019dd
jmp 0x10001273
mov eax, dword [ebp - 0x1a4]
sub eax, 0x97980f95
je 0x10001c5d
jmp 0x10001289
mov eax, dword [ebp - 0x1a4]
sub eax, 0x9899089a
je 0x100027a4
jmp 0x1000129f
mov eax, dword [ebp - 0x1a4]
sub eax, 0x9d913281
je 0x10001ef7
jmp 0x100012b5
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa0c95077
je 0x10001c6c
jmp 0x100012cb
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa1e27543
je 0x10001e6d
jmp 0x100012e1
mov eax, dword [ebp - 0x1a4]
sub eax, 0xa40b1bf8
je 0x1000251c
jmp 0x100012f7
mov eax, dword [ebp - 0x1a4]
sub eax, 0xab2a3b9b
je 0x1000277d
jmp 0x1000130d
mov eax, dword [ebp - 0x1a4]
sub eax, 0xb00f71cd
je 0x10001bd9
jmp 0x10001323
mov eax, dword [ebp - 0x1a4]
sub eax, 0xb8fe97bc
je 0x10002750
jmp 0x10001339
mov eax, dword [ebp - 0x1a4]
sub eax, 0xc9ba7430
je 0x100017f6
jmp 0x1000134f
mov eax, dword [ebp - 0x1a4]
sub eax, 0xcce2c9d3
je 0x10001927
jmp 0x10001365
mov eax, dword [ebp - 0x1a4]
sub eax, 0xce7826ba
je 0x1000182d
jmp 0x1000137b
mov eax, dword [ebp - 0x1a4]
sub eax, 0xd5c43214
je 0x10001b79
jmp 0x10001391
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdaad38aa
je 0x10001d86
jmp 0x100013a7
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdb046e58
je 0x10001ecd
jmp 0x100013bd
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdb3c86f6
je 0x100025b3
jmp 0x100013d3
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdb416b12
je 0x100022c3
jmp 0x100013e9
mov eax, dword [ebp - 0x1a4]
sub eax, 0xdcf0c711
je 0x10001d77
jmp 0x100013ff
mov eax, dword [ebp - 0x1a4]
sub eax, 0xe4056ace
je 0x10001a53
jmp 0x10001415
mov eax, dword [ebp - 0x1a4]
sub eax, 0xe6dd0c01
je 0x1000187e
jmp 0x1000142b
mov eax, dword [ebp - 0x1a4]
sub eax, 0xe86a6bc3
je 0x10001df4
jmp 0x10001441
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf1ee0f9e
je 0x100023ff
jmp 0x10001457
mov eax, dword [ebp - 0x1a4]
sub eax, 0xf2d8d949
je 0x10001c00
jmp 0x1000146d
mov eax, dword [ebp - 0x1a4]
sub eax, 0xfb10da76
je 0x100018c7
jmp 0x10001483
mov eax, dword [ebp - 0x1a4]
sub eax, 0xfc29e60c
je 0x10001da3
jmp 0x10001499
mov eax, dword [ebp - 0x1a4]
sub eax, 0x437400b
je 0x10001b3b
jmp 0x100014af
mov eax, dword [ebp - 0x1a4]
sub eax, 0x57a2c6b
je 0x100025a4
jmp 0x100014c5
mov eax, dword [ebp - 0x1a4]
sub eax, 0x64c6253
je 0x10001e7c
jmp 0x100014db
mov eax, dword [ebp - 0x1a4]
sub eax, 0x10e0756c
je 0x1000175e
jmp 0x100014f1
mov eax, dword [ebp - 0x1a4]
sub eax, 0x132785fb
je 0x100020ec
jmp 0x10001507
mov eax, dword [ebp - 0x1a4]
sub eax, 0x168aff2d
je 0x10001c3c
jmp 0x1000151d
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1b2223bf
je 0x100023b6
jmp 0x10001533
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1ba5fc89
je 0x10001f39
jmp 0x10001549
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1e982e75
je 0x10002652
jmp 0x1000155f
mov eax, dword [ebp - 0x1a4]
sub eax, 0x1ee0cb0d
je 0x10002607
jmp 0x10001575
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2284b503
je 0x100025e6
jmp 0x1000158b
mov eax, dword [ebp - 0x1a4]
sub eax, 0x23c98991
je 0x100027b3
jmp 0x100015a1
mov eax, dword [ebp - 0x1a4]
sub eax, 0x240301fd
je 0x100023a7
jmp 0x100015b7
mov eax, dword [ebp - 0x1a4]
sub eax, 0x2592a479
je 0x100019ce
jmp 0x100015cd
mov eax, dword [ebp - 0x1a4]
sub eax, 0x28fccb35
je 0x10002616
jmp 0x100015e3
mov eax, dword [ebp - 0x1a4]
sub eax, 0x30838b72
je 0x10001b4a
jmp 0x100015f9
mov eax, dword [ebp - 0x1a4]
sub eax, 0x33ee4de2
je 0x1000248e
jmp 0x1000160f
mov eax, dword [ebp - 0x1a4]
sub eax, 0x39b7333c
je 0x10001f8a
jmp 0x10001625
mov eax, dword [ebp - 0x1a4]
sub eax, 0x5052b874
je 0x100024cb
jmp 0x1000163b
mov eax, dword [ebp - 0x1a4]
sub eax, 0x52c87fec
je 0x100026d5
jmp 0x10001651
mov eax, dword [ebp - 0x1a4]
sub eax, 0x568c3f9a
je 0x100027c8
jmp 0x10001667
mov eax, dword [ebp - 0x1a4]
sub eax, 0x5e6d1520
je 0x1000200e
jmp 0x1000167d
mov eax, dword [ebp - 0x1a4]
sub eax, 0x676b7a6c
je 0x10001cb5
jmp 0x10001693
mov eax, dword [ebp - 0x1a4]
sub eax, 0x681171aa
je 0x10001fff
jmp 0x100016a9
mov eax, dword [ebp - 0x1a4]
sub eax, 0x6972bddb
je 0x10002057
jmp 0x100016bf
mov eax, dword [ebp - 0x1a4]
sub eax, 0x6a5097f2
je 0x10001b88
jmp 0x100016d5
mov eax, dword [ebp - 0x1a4]
sub eax, 0x6de58cfb
je 0x10002162
jmp 0x100016eb
mov eax, dword [ebp - 0x1a4]
sub eax, 0x6f8b3581
je 0x1000222b
jmp 0x10001701
mov eax, dword [ebp - 0x1a4]
sub eax, 0x755235bb
je 0x10001e9b
jmp 0x10001717
mov eax, dword [ebp - 0x1a4]
sub eax, 0x75b7ad26
je 0x1000221c
jmp 0x1000172d
mov eax, dword [ebp - 0x1a4]
sub eax, 0x774a02ac
je 0x10002736
jmp 0x10001743
mov eax, dword [ebp - 0x1a4]
sub eax, 0x7768bc3a
je 0x10001c21
jmp 0x10001759
jmp 0x100027e4
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x184], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x188], 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.1000cb00
add esp, 0xc
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x19c], 0xc9ba7430
jmp 0x100027e4
mov eax, dword [ebp - 0x164]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18c], eax
mov eax, 0xce7826ba
mov ecx, 0x932d1ce2
cmp dword [ebp - 0x18c], 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xfe1a1d69
sub edx, 1
add edx, 0xfe1a1d69
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, 0x1ee0cb0d
mov ecx, 0xe6dd0c01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0x1ee0cb0d
mov ecx, 0xfb10da76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x958ef043
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xee0b16f9
sub edx, 1
add edx, 0xee0b16f9
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, 0x28fccb35
mov ecx, 0xcce2c9d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x160], eax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0x28fccb35
mov ecx, 0x2592a479
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x978adbf8
jmp 0x100027e4
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0x78b1ddf8
sub edx, 1
sub edx, 0x78b1ddf8
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, 0x1e982e75
mov ecx, 0xe4056ace
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x18c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
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 - 0x15c], eax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0x1e982e75
mov ecx, 0x437400b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x30838b72
jmp 0x100027e4
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x194], eax
mov edx, 0xffffffff
mov eax, 0x6a5097f2
mov ecx, 0xd5c43214
cmp dword [ebp - 0x194], edx
cmove eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x958ef043
jmp 0x100027e4
mov eax, dword [ebp - 0x194]
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 - 0x158], eax
mov dword [ebp - 0x19c], 0xb00f71cd
jmp 0x100027e4
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x19c], 0xf2d8d949
jmp 0x100027e4
mov edx, dword [ebp - 0x154]
mov eax, 0x7768bc3a
mov ecx, 0xa0c95077
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x19c], 0x168aff2d
jmp 0x100027e4
mov eax, dword [ebp - 0x150]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19c], 0x97980f95
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x958ef043
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0x52c87fec
mov ecx, 0x676b7a6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x198]
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 - 0x180]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x17c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x17c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0x6949e726
sub edx, 1
sub edx, 0x6949e726
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, 0x52c87fec
mov ecx, 0xdcf0c711
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0xdaad38aa
jmp 0x100027e4
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov dword [ebp - 0x19c], 0xfc29e60c
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0x2eae35a6
sub edx, 1
add edx, 0x2eae35a6
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, 0x774a02ac
mov ecx, 0xe86a6bc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov word [eax], 0
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0x774a02ac
mov ecx, 0xa1e27543
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x64c6253
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov ax, word [eax]
mov word [ebp - 0x146], ax
mov dword [ebp - 0x19c], 0x755235bb
jmp 0x100027e4
mov ax, word [ebp - 0x146]
movzx eax, ax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x13e], ax
mov dword [ebp - 0x19c], 0xdb046e58
jmp 0x100027e4
mov ax, word [ebp - 0x13e]
movzx esi, ax
mov edx, dword [ebp - 0x144]
mov eax, 0x5052b874
mov ecx, 0x9d913281
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
sub eax, 0x636a53c3
add eax, 0x18
add eax, 0x636a53c3
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x419a8fe9
add eax, ecx
sub eax, 0x419a8fe9
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x19c], 0x1ba5fc89
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0x441af726
sub edx, 1
sub edx, 0x441af726
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, 0xb8fe97bc
mov ecx, 0x39b7333c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
movzx eax, word [eax]
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x13c]
add eax, 0x2b226ff0
add eax, ecx
sub eax, 0x2b226ff0
mov dword [ebp - 0x138], eax
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
sub edx, 0xb5d85b0d
sub edx, 1
add edx, 0xb5d85b0d
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, 0xb8fe97bc
mov ecx, 0x681171aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x5e6d1520
jmp 0x100027e4
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000ee70
add esp, 8
mov edx, eax
mov eax, 0x6972bddb
mov ecx, 0xdb416b12
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x16c]
mov dword [eax], 0
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x16c]
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 - 0x168]
mov byte [eax], cl
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x170]
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 - 0x134], eax
mov dword [ebp - 0x19c], 0x132785fb
jmp 0x100027e4
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0xeaa3350d
sub edx, 1
sub edx, 0xeaa3350d
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, 0xab2a3b9b
mov ecx, 0x6de58cfb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x170]
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 - 0x12c], eax
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0x503b11e5
sub edx, 1
sub edx, 0x503b11e5
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, 0xab2a3b9b
mov ecx, 0x75b7ad26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x6f8b3581
jmp 0x100027e4
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1000cc60
add esp, 0xc
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x16c]
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 - 0x168]
mov byte [eax], cl
mov dword [ebp - 0x19c], 0xdb416b12
jmp 0x100027e4
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
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, 0x9899089a
mov ecx, 0x826af8fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0x92c33203
sub edx, 1
sub edx, 0x92c33203
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, 0x9899089a
mov ecx, 0x240301fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x1b2223bf
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
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, 0x23c98991
mov ecx, 0xf1ee0f9e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov ax, word [eax]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x122], ax
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
add edx, 0x4388680e
sub edx, 1
sub edx, 0x4388680e
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, 0x23c98991
mov ecx, 0x33ee4de2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x916d024f
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x19c], 0x95e1d4fb
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x64c6253
jmp 0x100027e4
mov eax, dword [0x1003b940]
mov ecx, dword [0x1003b93c]
mov edx, eax
add edx, 0xce281e9a
sub edx, 1
sub edx, 0xce281e9a
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, 0x568c3f9a
mov ecx, 0xa40b1bf8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1003b940]
mov eax, dword [0x1003b93c]
mov edx, ecx
sub edx, 0x5b6a44c7
sub edx, 1
add edx, 0x5b6a44c7
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, 0x568c3f9a
mov ecx, 0x57a2c6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x19c], eax
jmp 0x100027e4
mov dword [ebp - 0x19c], 0xdb3c86f6
jmp 0x100027e4
mov eax, dword [ebp - 0x198]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19c], 0x2284b503
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x958ef043
jmp 0x100027e4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000bf00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x19c], 0xe6dd0c01
jmp 0x100027e4
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x120]
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 - 0x19c], 0xcce2c9d3
jmp 0x100027e4
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x18c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
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 - 0x19c], 0xe4056ace
jmp 0x100027e4
mov eax, dword [ebp - 0x198]
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 - 0x180]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x17c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x19c], 0x676b7a6c
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov word [eax], 0
mov dword [ebp - 0x19c], 0xe86a6bc3
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x19c], 0x39b7333c
jmp 0x100027e4
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x170]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x19c], 0x6de58cfb
jmp 0x100027e4
mov dword [ebp - 0x19c], 0x826af8fe
jmp 0x100027e4
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x19c], 0xf1ee0f9e
jmp 0x100027e4
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x19c], 0xa40b1bf8
jmp 0x100011e9