Function at 0x10001310
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 [0x1006b000]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0xb454e65e
sub edx, 1
add edx, 0xb454e65e
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], 0xb1920ab0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], eax
sub eax, 0x81031d32
je 0x1000218c
jmp 0x10001393
mov eax, dword [ebp - 0xac]
sub eax, 0x8386bad3
je 0x10001e46
jmp 0x100013a9
mov eax, dword [ebp - 0xac]
sub eax, 0x964c0a77
je 0x100021ea
jmp 0x100013bf
mov eax, dword [ebp - 0xac]
sub eax, 0x985eb0fa
je 0x100028f1
jmp 0x100013d5
mov eax, dword [ebp - 0xac]
sub eax, 0x9ec80ba0
je 0x100025ea
jmp 0x100013eb
mov eax, dword [ebp - 0xac]
sub eax, 0xa0a8e24a
je 0x10001fca
jmp 0x10001401
mov eax, dword [ebp - 0xac]
sub eax, 0xa3036fe9
je 0x10002658
jmp 0x10001417
mov eax, dword [ebp - 0xac]
sub eax, 0xa3ecc97f
je 0x100026a1
jmp 0x1000142d
mov eax, dword [ebp - 0xac]
sub eax, 0xa4bc6461
je 0x10002800
jmp 0x10001443
mov eax, dword [ebp - 0xac]
sub eax, 0xb1110161
je 0x10002963
jmp 0x10001459
mov eax, dword [ebp - 0xac]
sub eax, 0xb1920ab0
je 0x10001944
jmp 0x1000146f
mov eax, dword [ebp - 0xac]
sub eax, 0xb4e835df
je 0x10001973
jmp 0x10001485
mov eax, dword [ebp - 0xac]
sub eax, 0xba854fc5
je 0x10001ed3
jmp 0x1000149b
mov eax, dword [ebp - 0xac]
sub eax, 0xc06520ba
je 0x1000205e
jmp 0x100014b1
mov eax, dword [ebp - 0xac]
sub eax, 0xc31df154
je 0x10001ba1
jmp 0x100014c7
mov eax, dword [ebp - 0xac]
sub eax, 0xc4dfe3de
je 0x100026c9
jmp 0x100014dd
mov eax, dword [ebp - 0xac]
sub eax, 0xc611a75e
je 0x100027d7
jmp 0x100014f3
mov eax, dword [ebp - 0xac]
sub eax, 0xca269c8a
je 0x1000241a
jmp 0x10001509
mov eax, dword [ebp - 0xac]
sub eax, 0xcb438642
je 0x100022c5
jmp 0x1000151f
mov eax, dword [ebp - 0xac]
sub eax, 0xdba55bd7
je 0x10001b03
jmp 0x10001535
mov eax, dword [ebp - 0xac]
sub eax, 0xdd9b6762
je 0x1000223b
jmp 0x1000154b
mov eax, dword [ebp - 0xac]
sub eax, 0xe0f2ad91
je 0x10002903
jmp 0x10001561
mov eax, dword [ebp - 0xac]
sub eax, 0xe7428df2
je 0x10001cd6
jmp 0x10001577
mov eax, dword [ebp - 0xac]
sub eax, 0xebcbc54e
je 0x1000239f
jmp 0x1000158d
mov eax, dword [ebp - 0xac]
sub eax, 0xee39c3ee
je 0x10001ef1
jmp 0x100015a3
mov eax, dword [ebp - 0xac]
sub eax, 0xf27e560d
je 0x10001ce5
jmp 0x100015b9
mov eax, dword [ebp - 0xac]
sub eax, 0x17bd803
je 0x10001a1f
jmp 0x100015cf
mov eax, dword [ebp - 0xac]
sub eax, 0x53cb12a
je 0x10001d27
jmp 0x100015e5
mov eax, dword [ebp - 0xac]
sub eax, 0x55131f5
je 0x10002761
jmp 0x100015fb
mov eax, dword [ebp - 0xac]
sub eax, 0xab1c6b7
je 0x100020e3
jmp 0x10001611
mov eax, dword [ebp - 0xac]
sub eax, 0xd81a3c8
je 0x1000247a
jmp 0x10001627
mov eax, dword [ebp - 0xac]
sub eax, 0x2034d1f1
je 0x10001aba
jmp 0x1000163d
mov eax, dword [ebp - 0xac]
sub eax, 0x225ce05f
je 0x100021c7
jmp 0x10001653
mov eax, dword [ebp - 0xac]
sub eax, 0x22a8bbb2
je 0x10001ec4
jmp 0x10001669
mov eax, dword [ebp - 0xac]
sub eax, 0x2c155324
je 0x10001fbb
jmp 0x1000167f
mov eax, dword [ebp - 0xac]
sub eax, 0x3099450e
je 0x100026eb
jmp 0x10001695
mov eax, dword [ebp - 0xac]
sub eax, 0x309a9a33
je 0x100021ac
jmp 0x100016ab
mov eax, dword [ebp - 0xac]
sub eax, 0x344c2ca7
je 0x100020d4
jmp 0x100016c1
mov eax, dword [ebp - 0xac]
sub eax, 0x3454ea8d
je 0x10002137
jmp 0x100016d7
mov eax, dword [ebp - 0xac]
sub eax, 0x357af164
je 0x10001a10
jmp 0x100016ed
mov eax, dword [ebp - 0xac]
sub eax, 0x3aa2b339
je 0x10002a56
jmp 0x10001703
mov eax, dword [ebp - 0xac]
sub eax, 0x49a4aec7
je 0x10001c26
jmp 0x10001719
mov eax, dword [ebp - 0xac]
sub eax, 0x4b1e6f44
je 0x100028ab
jmp 0x1000172f
mov eax, dword [ebp - 0xac]
sub eax, 0x4bfd5bae
je 0x10002878
jmp 0x10001745
mov eax, dword [ebp - 0xac]
sub eax, 0x4c079b35
je 0x10002329
jmp 0x1000175b
mov eax, dword [ebp - 0xac]
sub eax, 0x52f547ad
je 0x10001f42
jmp 0x10001771
mov eax, dword [ebp - 0xac]
sub eax, 0x5448f32c
je 0x10002927
jmp 0x10001787
mov eax, dword [ebp - 0xac]
sub eax, 0x5495fac6
je 0x10002429
jmp 0x1000179d
mov eax, dword [ebp - 0xac]
sub eax, 0x5511c111
je 0x10001d9a
jmp 0x100017b3
mov eax, dword [ebp - 0xac]
sub eax, 0x55a885fe
je 0x10001dfd
jmp 0x100017c9
mov eax, dword [ebp - 0xac]
sub eax, 0x57274aab
je 0x100022f3
jmp 0x100017df
mov eax, dword [ebp - 0xac]
sub eax, 0x5a366024
je 0x10002918
jmp 0x100017f5
mov eax, dword [ebp - 0xac]
sub eax, 0x5cb4485f
je 0x100022d4
jmp 0x1000180b
mov eax, dword [ebp - 0xac]
sub eax, 0x5dabf50d
je 0x10002593
jmp 0x10001821
mov eax, dword [ebp - 0xac]
sub eax, 0x5f29a903
je 0x10002161
jmp 0x10001837
mov eax, dword [ebp - 0xac]
sub eax, 0x5fc2f8f7
je 0x1000283a
jmp 0x1000184d
mov eax, dword [ebp - 0xac]
sub eax, 0x62294d87
je 0x10002584
jmp 0x10001863
mov eax, dword [ebp - 0xac]
sub eax, 0x664a46ee
je 0x10001b83
jmp 0x10001879
mov eax, dword [ebp - 0xac]
sub eax, 0x669efab8
je 0x1000293f
jmp 0x1000188f
mov eax, dword [ebp - 0xac]
sub eax, 0x66ff2894
je 0x10001bb0
jmp 0x100018a5
mov eax, dword [ebp - 0xac]
sub eax, 0x672a30cf
je 0x10002a47
jmp 0x100018bb
mov eax, dword [ebp - 0xac]
sub eax, 0x6c8448ac
je 0x100027e6
jmp 0x100018d1
mov eax, dword [ebp - 0xac]
sub eax, 0x6cd805cc
je 0x100026b0
jmp 0x100018e7
mov eax, dword [ebp - 0xac]
sub eax, 0x72520464
je 0x10001fe8
jmp 0x100018fd
mov eax, dword [ebp - 0xac]
sub eax, 0x754ed871
je 0x10002858
mov al, byte [ebp - 0x9e]
mov cl, byte [ebp - 0x9d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x791dadab
mov ecx, 0xb4e835df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
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
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
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, 0x791dadab
mov ecx, 0x357af164
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x17bd803
jmp 0x10002a60
mov ecx, dword [ebp - 0xa8]
push eax
sub esp, 0x100
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.1000cb00
add esp, 0xc
mov dword [ebp - 0xa4], 0x2034d1f1
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0x4bfd5bae
mov ecx, 0xdba55bd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
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 eax, dword [ebp - 0x90]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0x605fe931
sub edx, 1
sub edx, 0x605fe931
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, 0x4bfd5bae
mov ecx, 0x664a46ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dl, byte [ebp - 0x5d]
mov eax, 0xc31df154
mov ecx, 0x66ff2894
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x754ed871
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0x68f0b6e9
sub edx, 1
add edx, 0x68f0b6e9
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, 0x4b1e6f44
mov ecx, 0x49a4aec7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
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 - 0x5c], eax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x2a1d5875
sub edx, 1
sub edx, 0x2a1d5875
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, 0x4b1e6f44
mov ecx, 0xe7428df2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0xf27e560d
jmp 0x10002a60
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx]
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 - 0xa4], 0x53cb12a
jmp 0x10002a60
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov edx, dword [ebp - 0x84]
mov esi, 0xffffffff
mov eax, 0x7fcff160
mov ecx, 0x5511c111
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x754ed871
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0x985eb0fa
mov ecx, 0x8386bad3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x9fbb29fd
sub edx, 1
sub edx, 0x9fbb29fd
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, 0x985eb0fa
mov ecx, 0x22a8bbb2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0xba854fc5
jmp 0x10002a60
mov edx, dword [ebp - 0x58]
mov eax, 0xee39c3ee
mov ecx, 0xab1c6b7
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0x6bf9d0bc
sub edx, 1
add edx, 0x6bf9d0bc
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, 0xe0f2ad91
mov ecx, 0x52f547ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
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, 0xe0f2ad91
mov ecx, 0x2c155324
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0xa0a8e24a
jmp 0x10002a60
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x72520464
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0xf52c9471
sub edx, 1
add edx, 0xf52c9471
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, 0x5a366024
mov ecx, 0xc06520ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x1d3ffb8d
sub edx, 1
sub edx, 0x1d3ffb8d
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, 0x5a366024
mov ecx, 0x344c2ca7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x754ed871
jmp 0x10002a60
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 - 0x50], eax
mov dword [ebp - 0xa4], 0x3454ea8d
jmp 0x10002a60
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa4], 0x5f29a903
jmp 0x10002a60
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x4c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov word [eax], 0
mov dword [ebp - 0xa4], 0x81031d32
jmp 0x10002a60
mov eax, dword [ebp - 0x70]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa4], 0x309a9a33
jmp 0x10002a60
mov eax, dword [ebp - 0x40]
add eax, 4
add eax, 2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa4], 0x225ce05f
jmp 0x10002a60
mov eax, dword [ebp - 0x3c]
movzx esi, word [eax]
mov edx, dword [ebp - 0x44]
mov eax, 0x6c8448ac
mov ecx, 0x964c0a77
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0xcf7950ad
sub edx, 1
add edx, 0xcf7950ad
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, 0x5448f32c
mov ecx, 0xdd9b6762
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0x98128bc6
add eax, 0x18
sub eax, 0x98128bc6
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x70]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
sub eax, 0xae5509a5
add eax, ecx
add eax, 0xae5509a5
mov dword [ebp - 0x38], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0xf9b38587
sub edx, 1
add edx, 0xf9b38587
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, 0x5448f32c
mov ecx, 0xcb438642
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x5cb4485f
jmp 0x10002a60
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa4], 0x57274aab
jmp 0x10002a60
mov ecx, dword [ebp - 0x34]
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, 0x4c079b35
mov ecx, 0x9ec80ba0
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0x7473c09e
sub edx, 1
add edx, 0x7473c09e
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, 0x669efab8
mov ecx, 0xebcbc54e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
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 - 0x30], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0x8ec91dda
sub edx, 1
add edx, 0x8ec91dda
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, 0x669efab8
mov ecx, 0xca269c8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x5495fac6
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
add edx, 0xaa6d86a9
sub edx, 1
sub edx, 0xaa6d86a9
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, 0xb1110161
mov ecx, 0xd81a3c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add edx, 0x3cc9cbc
add edx, eax
sub edx, 0x3cc9cbc
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x30]
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 ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
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 - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
sub ecx, eax
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.1000cc60
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
mov edx, eax
sub edx, 0x8af23786
sub edx, 1
add edx, 0x8af23786
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, 0xb1110161
mov ecx, 0x62294d87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x5dabf50d
jmp 0x10002a60
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x3821fdd4
add esi, eax
sub esi, 0x3821fdd4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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], 0x9ec80ba0
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
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, 0x672a30cf
mov ecx, 0xa3036fe9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov eax, dword [0x1006c340]
mov ecx, dword [0x1006c33c]
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, 0x672a30cf
mov ecx, 0xa3ecc97f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x6cd805cc
jmp 0x10002a60
mov eax, dword [ebp - 0x70]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa4], 0xc4dfe3de
jmp 0x10002a60
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x70]
mov word [eax], cx
mov dword [ebp - 0xa4], 0x3099450e
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
sub edx, 0xb35a050a
sub edx, 1
add edx, 0xb35a050a
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, 0x3aa2b339
mov ecx, 0x55131f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov ecx, dword [0x1006c340]
mov eax, dword [0x1006c33c]
mov edx, ecx
add edx, 0x6655d7e3
sub edx, 1
sub edx, 0x6655d7e3
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, 0x3aa2b339
mov ecx, 0xc611a75e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa4], eax
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x81031d32
jmp 0x10002a60
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa4], 0xa4bc6461
jmp 0x10002a60
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
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 [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa4], 0x5fc2f8f7
jmp 0x10002a60
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa4], 0x754ed871
jmp 0x10002a60
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 eax, dword [ebp - 0x90]
mov dword [ebp - 0xa4], 0xdba55bd7
jmp 0x10002a60
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
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], 0x49a4aec7
jmp 0x10002a60
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], 0x8386bad3
jmp 0x10002a60
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa4], 0x52f547ad
jmp 0x10002a60
mov dword [ebp - 0xa4], 0xc06520ba
jmp 0x10002a60
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa4], 0xdd9b6762
jmp 0x10002a60
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], 0xebcbc54e
jmp 0x10002a60
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add edx, 0xa91ce688
add edx, eax
sub edx, 0xa91ce688
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x30]
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, 0x56b0b11
add ecx, eax
sub ecx, 0x56b0b11
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.1000cc60
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa4], 0xd81a3c8
jmp 0x10002a60
mov dword [ebp - 0xa4], 0xa3036fe9
jmp 0x10002a60
mov dword [ebp - 0xa4], 0x55131f5
jmp 0x10001377