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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x1006e800]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x9d], al
mov dword [ebp - 0xa4], 0xaeebf1a
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x8041afb7
je 0x10001a00
jmp 0x1000129b
mov eax, dword [ebp - 0xac]
sub eax, 0x809bd538
je 0x10002322
jmp 0x100012b1
mov eax, dword [ebp - 0xac]
sub eax, 0x864a8d80
je 0x10001e6a
jmp 0x100012c7
mov eax, dword [ebp - 0xac]
sub eax, 0x8ab05368
je 0x1000271f
jmp 0x100012dd
mov eax, dword [ebp - 0xac]
sub eax, 0x8b3ae467
je 0x100019df
jmp 0x100012f3
mov eax, dword [ebp - 0xac]
sub eax, 0x8ce9015f
je 0x1000233b
jmp 0x10001309
mov eax, dword [ebp - 0xac]
sub eax, 0x973080e8
je 0x100027e7
jmp 0x1000131f
mov eax, dword [ebp - 0xac]
sub eax, 0x9ef7ff09
je 0x10001e3d
jmp 0x10001335
mov eax, dword [ebp - 0xac]
sub eax, 0xa270bdac
je 0x10001f11
jmp 0x1000134b
mov eax, dword [ebp - 0xac]
sub eax, 0xa5c5e70e
je 0x10002469
jmp 0x10001361
mov eax, dword [ebp - 0xac]
sub eax, 0xa6932ccd
je 0x10001dbc
jmp 0x10001377
mov eax, dword [ebp - 0xac]
sub eax, 0xa9cf20a7
je 0x10002604
jmp 0x1000138d
mov eax, dword [ebp - 0xac]
sub eax, 0xb02322fb
je 0x1000190f
jmp 0x100013a3
mov eax, dword [ebp - 0xac]
sub eax, 0xb24367e7
je 0x1000207e
jmp 0x100013b9
mov eax, dword [ebp - 0xac]
sub eax, 0xb9a6ebdf
je 0x1000215d
jmp 0x100013cf
mov eax, dword [ebp - 0xac]
sub eax, 0xc19743e2
je 0x100022c1
jmp 0x100013e5
mov eax, dword [ebp - 0xac]
sub eax, 0xc383c804
je 0x10002418
jmp 0x100013fb
mov eax, dword [ebp - 0xac]
sub eax, 0xc473a3d9
je 0x1000275b
jmp 0x10001411
mov eax, dword [ebp - 0xac]
sub eax, 0xcdc3be6a
je 0x10001c72
jmp 0x10001427
mov eax, dword [ebp - 0xac]
sub eax, 0xcec82ae3
je 0x100024f3
jmp 0x1000143d
mov eax, dword [ebp - 0xac]
sub eax, 0xcff375ac
je 0x1000277c
jmp 0x10001453
mov eax, dword [ebp - 0xac]
sub eax, 0xd2baf4b5
je 0x100020cc
jmp 0x10001469
mov eax, dword [ebp - 0xac]
sub eax, 0xd2d5f7d0
je 0x10002578
jmp 0x1000147f
mov eax, dword [ebp - 0xac]
sub eax, 0xd2df4e2e
je 0x10001f7a
jmp 0x10001495
mov eax, dword [ebp - 0xac]
sub eax, 0xd6ebdf3b
je 0x1000238c
jmp 0x100014ab
mov eax, dword [ebp - 0xac]
sub eax, 0xd80734d2
je 0x10001ace
jmp 0x100014c1
mov eax, dword [ebp - 0xac]
sub eax, 0xdab486b1
je 0x10002791
jmp 0x100014d7
mov eax, dword [ebp - 0xac]
sub eax, 0xde693471
je 0x10001bbf
jmp 0x100014ed
mov eax, dword [ebp - 0xac]
sub eax, 0xe4354077
je 0x100021f8
jmp 0x10001503
mov eax, dword [ebp - 0xac]
sub eax, 0xe70b7c6a
je 0x10001dda
jmp 0x10001519
mov eax, dword [ebp - 0xac]
sub eax, 0xecb10df2
je 0x1000210c
jmp 0x1000152f
mov eax, dword [ebp - 0xac]
sub eax, 0xed3c1bf3
je 0x10001f6b
jmp 0x10001545
mov eax, dword [ebp - 0xac]
sub eax, 0xf1f0ce0c
je 0x10002701
jmp 0x1000155b
mov eax, dword [ebp - 0xac]
sub eax, 0xf3d06dd4
je 0x10001b44
jmp 0x10001571
mov eax, dword [ebp - 0xac]
sub eax, 0xfc2ff5a1
je 0x100025e1
jmp 0x10001587
mov eax, dword [ebp - 0xac]
sub eax, 0xaeebf1a
je 0x1000184c
jmp 0x1000159d
mov eax, dword [ebp - 0xac]
sub eax, 0xc6785b6
je 0x10001aa9
jmp 0x100015b3
mov eax, dword [ebp - 0xac]
sub eax, 0x10fcbe5d
je 0x10001d35
jmp 0x100015c9
mov eax, dword [ebp - 0xac]
sub eax, 0x19649961
je 0x10002313
jmp 0x100015df
mov eax, dword [ebp - 0xac]
sub eax, 0x23496e07
je 0x10002502
jmp 0x100015f5
mov eax, dword [ebp - 0xac]
sub eax, 0x266ec1e4
je 0x10001d84
jmp 0x1000160b
mov eax, dword [ebp - 0xac]
sub eax, 0x281ccdb5
je 0x1000282a
jmp 0x10001621
mov eax, dword [ebp - 0xac]
sub eax, 0x2896fe1b
je 0x10001a51
jmp 0x10001637
mov eax, dword [ebp - 0xac]
sub eax, 0x3594e10c
je 0x100018a0
jmp 0x1000164d
mov eax, dword [ebp - 0xac]
sub eax, 0x397ec64e
je 0x1000191e
jmp 0x10001663
mov eax, dword [ebp - 0xac]
sub eax, 0x3ea4df26
je 0x100026f0
jmp 0x10001679
mov eax, dword [ebp - 0xac]
sub eax, 0x401a80da
je 0x10001de9
jmp 0x1000168f
mov eax, dword [ebp - 0xac]
sub eax, 0x47266345
je 0x100025d2
jmp 0x100016a5
mov eax, dword [ebp - 0xac]
sub eax, 0x48b2a989
je 0x1000276a
jmp 0x100016bb
mov eax, dword [ebp - 0xac]
sub eax, 0x4c5ffc89
je 0x10001ec0
jmp 0x100016d1
mov eax, dword [ebp - 0xac]
sub eax, 0x4d8a1918
je 0x10001a9a
jmp 0x100016e7
mov eax, dword [ebp - 0xac]
sub eax, 0x51aedf76
je 0x1000267a
jmp 0x100016fd
mov eax, dword [ebp - 0xac]
sub eax, 0x51b6182c
je 0x10001cbb
jmp 0x10001713
mov eax, dword [ebp - 0xac]
sub eax, 0x532237fb
je 0x10001e9a
jmp 0x10001729
mov eax, dword [ebp - 0xac]
sub eax, 0x593afd5a
je 0x10001f9a
jmp 0x1000173f
mov eax, dword [ebp - 0xac]
sub eax, 0x5cc16a72
je 0x10002010
jmp 0x10001755
mov eax, dword [ebp - 0xac]
sub eax, 0x5d21112a
je 0x10001da2
jmp 0x1000176b
mov eax, dword [ebp - 0xac]
sub eax, 0x5f4f506d
je 0x1000208d
jmp 0x10001781
mov eax, dword [ebp - 0xac]
sub eax, 0x6d9abadf
je 0x10002207
jmp 0x10001797
mov eax, dword [ebp - 0xac]
sub eax, 0x6e380387
je 0x10001d1b
jmp 0x100017ad
mov eax, dword [ebp - 0xac]
sub eax, 0x6eebf578
je 0x10002409
jmp 0x100017c3
mov eax, dword [ebp - 0xac]
sub eax, 0x706b2ca0
je 0x1000280a
jmp 0x100017d9
mov eax, dword [ebp - 0xac]
sub eax, 0x721e3eb6
je 0x10001d0c
jmp 0x100017ef
mov eax, dword [ebp - 0xac]
sub eax, 0x753d2967
je 0x100027b5
jmp 0x10001805
mov eax, dword [ebp - 0xac]
sub eax, 0x78bf5fe3
je 0x100023fa
mov bl, byte [ebp - 0x9e]
mov dh, byte [ebp - 0x9d]
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, 0xf1f0ce0c
mov ecx, 0x3594e10c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
push eax
mov eax, esp
mov dword [ebp - 0x98], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
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, 0xf1f0ce0c
mov ecx, 0xb02322fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x397ec64e
jmp 0x10002834
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x104
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
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
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10012280
add esp, 0xc
mov eax, dword [ebp - 0x9c]
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 - 0x90]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x8b3ae467
jmp 0x10002834
mov edx, dword [ebp - 0x90]
mov eax, 0x8041afb7
mov ecx, 0xc6785b6
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0xdfa98e2c
sub edx, 1
sub edx, 0xdfa98e2c
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, 0x7e285d24
mov ecx, 0x2896fe1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
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, 0x7e285d24
mov ecx, 0x4d8a1918
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0xa9cf20a7
jmp 0x10002834
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa4], 0xd80734d2
jmp 0x10002834
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
add edx, 0x5caf8a0
sub edx, 1
sub edx, 0x5caf8a0
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, 0x8ab05368
mov ecx, 0xf3d06dd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
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 - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
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, 0x8ab05368
mov ecx, 0xde693471
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x7ac2c915
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
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, 0xc473a3d9
mov ecx, 0x51b6182c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
sub edx, 0xefb56977
sub edx, 1
add edx, 0xefb56977
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, 0xc473a3d9
mov ecx, 0x721e3eb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0xa9cf20a7
jmp 0x10002834
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa4], 0x10fcbe5d
jmp 0x10002834
mov eax, dword [ebp - 0x54]
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 ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov dword [ebp - 0xa4], 0x266ec1e4
jmp 0x10002834
mov edx, dword [ebp - 0x80]
mov eax, 0x5d21112a
mov ecx, 0x401a80da
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa4], 0xa6932ccd
jmp 0x10002834
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xe70b7c6a
jmp 0x10002834
mov dword [ebp - 0xa4], 0xa9cf20a7
jmp 0x10002834
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa4], 0x9ef7ff09
jmp 0x10002834
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa4], 0x864a8d80
jmp 0x10002834
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
add ecx, 0x72376aa5
add ecx, eax
sub ecx, 0x72376aa5
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x532237fb
jmp 0x10002834
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa4], 0x4c5ffc89
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0xad2374e0
sub edx, 1
sub edx, 0xad2374e0
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, 0x48b2a989
mov ecx, 0xa270bdac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x3c]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0x1da0a9a
sub edx, 1
sub edx, 0x1da0a9a
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, 0x48b2a989
mov ecx, 0xed3c1bf3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0xd2df4e2e
jmp 0x10002834
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x38]
mov eax, 0xc383c804
mov ecx, 0x593afd5a
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
add edx, 0xfc3585e
sub edx, 1
sub edx, 0xfc3585e
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, 0xcff375ac
mov ecx, 0x5cc16a72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0x20be80a8
add eax, 0x18
sub eax, 0x20be80a8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0x72b3f30
sub edx, 1
sub edx, 0x72b3f30
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, 0xcff375ac
mov ecx, 0xb24367e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x5f4f506d
jmp 0x10002834
mov eax, dword [ebp - 0x30]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x70]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0xacfa9c5c
add eax, ecx
sub eax, 0xacfa9c5c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa4], 0xd2baf4b5
jmp 0x10002834
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001e3b0
call fcn.100145f0
add esp, 8
mov edx, eax
mov eax, 0xecb10df2
mov ecx, 0x19649961
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
sub edx, 0xabaf2850
sub edx, 1
add edx, 0xabaf2850
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, 0xdab486b1
mov ecx, 0xb9a6ebdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
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, 0xdab486b1
mov ecx, 0xe4354077
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x6d9abadf
jmp 0x10002834
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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 - 0x64]
mov byte [eax], cl
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xca02e89
add ecx, eax
sub ecx, 0xca02e89
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100123e0
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa4], 0xc19743e2
jmp 0x10002834
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add esi, 0x45305182
add esi, eax
sub esi, 0x45305182
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x64]
mov byte [eax], cl
mov dword [ebp - 0xa4], 0x19649961
jmp 0x10002834
mov dword [ebp - 0xa4], 0x809bd538
jmp 0x10002834
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
mov word [ebp - 0xe], ax
mov dword [ebp - 0xa4], 0x8ce9015f
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0x4afea35d
sub edx, 1
sub edx, 0x4afea35d
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, 0x753d2967
mov ecx, 0xd6ebdf3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov cx, word [ebp - 0xe]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x70]
mov word [eax], cx
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
add edx, 0xfe04a0b
sub edx, 1
sub edx, 0xfe04a0b
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, 0x753d2967
mov ecx, 0x78bf5fe3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x532237fb
jmp 0x10002834
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
mov edx, eax
sub edx, 0x47a9451e
sub edx, 1
add edx, 0x47a9451e
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, 0x973080e8
mov ecx, 0xa5c5e70e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
sub edx, 0x32ddb847
sub edx, 1
add edx, 0x32ddb847
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, 0x973080e8
mov ecx, 0xcec82ae3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0x23496e07
jmp 0x10002834
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
add edx, 0x1c2ba225
sub edx, 1
sub edx, 0x1c2ba225
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, 0x706b2ca0
mov ecx, 0xd2d5f7d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006fb48]
mov ecx, dword [0x1006fb44]
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, 0x706b2ca0
mov ecx, 0x47266345
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov dword [ebp - 0xa4], 0xfc2ff5a1
jmp 0x10002834
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xa9cf20a7
jmp 0x10002834
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
sub edx, 0x2eff30c5
sub edx, 1
add edx, 0x2eff30c5
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, 0x281ccdb5
mov ecx, 0x51aedf76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov ecx, dword [0x1006fb48]
mov eax, dword [0x1006fb44]
mov edx, ecx
add edx, 0x8b3e0e37
sub edx, 1
sub edx, 0x8b3e0e37
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, 0x281ccdb5
mov ecx, 0x3ea4df26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002834
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10011680
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa4], 0x3594e10c
jmp 0x10002834
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
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 - 0x94]
mov dword [ebp - 0xa4], 0xf3d06dd4
jmp 0x10002834
mov dword [ebp - 0xa4], 0x51b6182c
jmp 0x10002834
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xa4], 0xa270bdac
jmp 0x10002834
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa4], 0x5cc16a72
jmp 0x10002834
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], 0xb9a6ebdf
jmp 0x10002834
mov ax, word [ebp - 0xe]
mov ax, word [ebp - 0xe]
mov ax, word [ebp - 0xe]
mov ax, word [ebp - 0xe]
mov cx, word [ebp - 0xe]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x70]
mov word [eax], cx
mov dword [ebp - 0xa4], 0xd6ebdf3b
jmp 0x10002834
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xa5c5e70e
jmp 0x10002834
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0xd2d5f7d0
jmp 0x10002834
mov dword [ebp - 0xa4], 0x51aedf76
jmp 0x1000127f