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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x1006e800]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x98], 0x6ff083e0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x835e3563
je 0x100027c6
jmp 0x10001244
mov eax, dword [ebp - 0xa0]
sub eax, 0x86124932
je 0x1000218a
jmp 0x1000125a
mov eax, dword [ebp - 0xa0]
sub eax, 0x86478d05
je 0x100023bf
jmp 0x10001270
mov eax, dword [ebp - 0xa0]
sub eax, 0x87ca6801
je 0x100028b3
jmp 0x10001286
mov eax, dword [ebp - 0xa0]
sub eax, 0x888646f3
je 0x10001c19
jmp 0x1000129c
mov eax, dword [ebp - 0xa0]
sub eax, 0x8b7deca1
je 0x1000295c
jmp 0x100012b2
mov eax, dword [ebp - 0xa0]
sub eax, 0x906732d2
je 0x1000238e
jmp 0x100012c8
mov eax, dword [ebp - 0xa0]
sub eax, 0x96eae11b
je 0x10001faa
jmp 0x100012de
mov eax, dword [ebp - 0xa0]
sub eax, 0x98a79807
je 0x10001ab0
jmp 0x100012f4
mov eax, dword [ebp - 0xa0]
sub eax, 0x98bee419
je 0x1000297c
jmp 0x1000130a
mov eax, dword [ebp - 0xa0]
sub eax, 0x9b9a56c9
je 0x10002899
jmp 0x10001320
mov eax, dword [ebp - 0xa0]
sub eax, 0x9cd830da
je 0x100019fa
jmp 0x10001336
mov eax, dword [ebp - 0xa0]
sub eax, 0x9e606c30
je 0x10001d6a
jmp 0x1000134c
mov eax, dword [ebp - 0xa0]
sub eax, 0xa022a279
je 0x100029c2
jmp 0x10001362
mov eax, dword [ebp - 0xa0]
sub eax, 0xa2dad1a3
je 0x10001f1e
jmp 0x10001378
mov eax, dword [ebp - 0xa0]
sub eax, 0xa33c8d65
je 0x10001e39
jmp 0x1000138e
mov eax, dword [ebp - 0xa0]
sub eax, 0xa557e7e8
je 0x10002548
jmp 0x100013a4
mov eax, dword [ebp - 0xa0]
sub eax, 0xaa282ad9
je 0x100026da
jmp 0x100013ba
mov eax, dword [ebp - 0xa0]
sub eax, 0xaa37d311
je 0x100020a6
jmp 0x100013d0
mov eax, dword [ebp - 0xa0]
sub eax, 0xb08ee7b5
je 0x10001d4c
jmp 0x100013e6
mov eax, dword [ebp - 0xa0]
sub eax, 0xc170672a
je 0x100021a3
jmp 0x100013fc
mov eax, dword [ebp - 0xa0]
sub eax, 0xc3515fe9
je 0x10002058
jmp 0x10001412
mov eax, dword [ebp - 0xa0]
sub eax, 0xc6685aec
je 0x10002744
jmp 0x10001428
mov eax, dword [ebp - 0xa0]
sub eax, 0xd0dca9a4
je 0x100027a8
jmp 0x1000143e
mov eax, dword [ebp - 0xa0]
sub eax, 0xdb24ebcd
je 0x1000240e
jmp 0x10001454
mov eax, dword [ebp - 0xa0]
sub eax, 0xe04267af
je 0x1000239d
jmp 0x1000146a
mov eax, dword [ebp - 0xa0]
sub eax, 0xe4bbd48e
je 0x10002b1f
jmp 0x10001480
mov eax, dword [ebp - 0xa0]
sub eax, 0xe4ca2e9b
je 0x100026cb
jmp 0x10001496
mov eax, dword [ebp - 0xa0]
sub eax, 0xe9e2654a
je 0x10002c1d
jmp 0x100014ac
mov eax, dword [ebp - 0xa0]
sub eax, 0xebd17a86
je 0x10002b0a
jmp 0x100014c2
mov eax, dword [ebp - 0xa0]
sub eax, 0xedbf6b3a
je 0x10001984
jmp 0x100014d8
mov eax, dword [ebp - 0xa0]
sub eax, 0xf03c68f8
je 0x10001cef
jmp 0x100014ee
mov eax, dword [ebp - 0xa0]
sub eax, 0xf1311660
je 0x100026bc
jmp 0x10001504
mov eax, dword [ebp - 0xa0]
sub eax, 0xf2a0feed
je 0x100024bf
jmp 0x1000151a
mov eax, dword [ebp - 0xa0]
sub eax, 0xf2da52be
je 0x10001bec
jmp 0x10001530
mov eax, dword [ebp - 0xa0]
sub eax, 0xf575e680
je 0x10002bf1
jmp 0x10001546
mov eax, dword [ebp - 0xa0]
sub eax, 0xf6361e41
je 0x10001a85
jmp 0x1000155c
mov eax, dword [ebp - 0xa0]
sub eax, 0xf8ab978a
je 0x100027b7
jmp 0x10001572
mov eax, dword [ebp - 0xa0]
sub eax, 0x13c2761b
je 0x100026f3
jmp 0x10001588
mov eax, dword [ebp - 0xa0]
sub eax, 0x14f1d575
je 0x100019b1
jmp 0x1000159e
mov eax, dword [ebp - 0xa0]
sub eax, 0x182a43c9
je 0x1000288a
jmp 0x100015b4
mov eax, dword [ebp - 0xa0]
sub eax, 0x1917dc96
je 0x10002067
jmp 0x100015ca
mov eax, dword [ebp - 0xa0]
sub eax, 0x1cf66fd8
je 0x10002a81
jmp 0x100015e0
mov eax, dword [ebp - 0xa0]
sub eax, 0x1fc5be27
je 0x1000296b
jmp 0x100015f6
mov eax, dword [ebp - 0xa0]
sub eax, 0x217f245e
je 0x10001ce0
jmp 0x1000160c
mov eax, dword [ebp - 0xa0]
sub eax, 0x2212fb1b
je 0x10002c4e
jmp 0x10001622
mov eax, dword [ebp - 0xa0]
sub eax, 0x2a41fd08
je 0x10002097
jmp 0x10001638
mov eax, dword [ebp - 0xa0]
sub eax, 0x2b52aad4
je 0x10002ae0
jmp 0x1000164e
mov eax, dword [ebp - 0xa0]
sub eax, 0x2e128d7d
je 0x100019a2
jmp 0x10001664
mov eax, dword [ebp - 0xa0]
sub eax, 0x317c2f2d
je 0x10002211
jmp 0x1000167a
mov eax, dword [ebp - 0xa0]
sub eax, 0x3f28afd1
je 0x10001dbb
jmp 0x10001690
mov eax, dword [ebp - 0xa0]
sub eax, 0x3f603d27
je 0x10002a51
jmp 0x100016a6
mov eax, dword [ebp - 0xa0]
sub eax, 0x40e7cfc0
je 0x10001e48
jmp 0x100016bc
mov eax, dword [ebp - 0xa0]
sub eax, 0x43d7a096
je 0x10001f2d
jmp 0x100016d2
mov eax, dword [ebp - 0xa0]
sub eax, 0x46a71d95
je 0x100022b5
jmp 0x100016e8
mov eax, dword [ebp - 0xa0]
sub eax, 0x4ad30a43
je 0x10001c0a
jmp 0x100016fe
mov eax, dword [ebp - 0xa0]
sub eax, 0x4c55dcc9
je 0x1000232b
jmp 0x10001714
mov eax, dword [ebp - 0xa0]
sub eax, 0x4f677b5f
je 0x1000217b
jmp 0x1000172a
mov eax, dword [ebp - 0xa0]
sub eax, 0x50de59b8
je 0x10002297
jmp 0x10001740
mov eax, dword [ebp - 0xa0]
sub eax, 0x566b301d
je 0x10002904
jmp 0x10001756
mov eax, dword [ebp - 0xa0]
sub eax, 0x58238e2c
je 0x100020f7
jmp 0x1000176c
mov eax, dword [ebp - 0xa0]
sub eax, 0x5aeb9ef5
je 0x100025cd
jmp 0x10001782
mov eax, dword [ebp - 0xa0]
sub eax, 0x5b562a09
je 0x10002af5
jmp 0x10001798
mov eax, dword [ebp - 0xa0]
sub eax, 0x5cd47d92
je 0x10001e99
jmp 0x100017ae
mov eax, dword [ebp - 0xa0]
sub eax, 0x644dd4c3
je 0x10001b01
mov edx, dword [ebp - 0x58]
mov eax, 0x2e128d7d
mov ecx, 0x14f1d575
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x1fc5be27
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
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, 0x98bee419
mov ecx, 0x9cd830da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov dword [ebp - 0x54], eax
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x61b1480b
sub edx, 1
sub edx, 0x61b1480b
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, 0x98bee419
mov ecx, 0xf6361e41
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x6b469dcb
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0xe645450e
sub edx, 1
sub edx, 0xe645450e
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, 0xa022a279
mov ecx, 0x644dd4c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dl, byte [ebp - 0x4d]
mov eax, 0x888646f3
mov ecx, 0x4ad30a43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x1fc5be27
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x20c83759
sub edx, 1
sub edx, 0x20c83759
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, 0x745517f4
mov ecx, 0x6da43208
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0xf03c68f8
jmp 0x10002c67
mov eax, dword [ebp - 0x4c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x45], al
mov dword [ebp - 0x98], 0xb08ee7b5
jmp 0x10002c67
mov dl, byte [ebp - 0x45]
mov eax, 0x9e606c30
mov ecx, 0x6fedfd9f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
sub edx, 0x5d6e0f98
sub edx, 1
add edx, 0x5d6e0f98
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, 0x3f603d27
mov ecx, 0x3f28afd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
mov edx, ecx
add edx, 0xce6cc023
sub edx, 1
sub edx, 0xce6cc023
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, 0x3f603d27
mov ecx, 0xa33c8d65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x40e7cfc0
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x7c7006a9
sub edx, 1
sub edx, 0x7c7006a9
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, 0x75c05a1d
mov ecx, 0x5cd47d92
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
mov edx, ecx
sub edx, 0xd96a8ee9
sub edx, 1
add edx, 0xd96a8ee9
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, 0x75c05a1d
mov ecx, 0xa2dad1a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x43d7a096
jmp 0x10002c67
mov dword [ebp - 0x98], 0x1fc5be27
jmp 0x10002c67
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x3bc38543
sub edx, 1
sub edx, 0x3bc38543
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, 0x1cf66fd8
mov ecx, 0xc3515fe9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x1917dc96
jmp 0x10002c67
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub ecx, 0x42921c93
add ecx, eax
add ecx, 0x42921c93
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x98], 0x2a41fd08
jmp 0x10002c67
mov dword [ebp - 0x98], 0xaa37d311
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
sub edx, 0x55681318
sub edx, 1
add edx, 0x55681318
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, 0x2b52aad4
mov ecx, 0x58238e2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x32], ax
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
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, 0x2b52aad4
mov ecx, 0x4f677b5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x86124932
jmp 0x10002c67
mov ax, word [ebp - 0x32]
movzx eax, ax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x98], 0xc170672a
jmp 0x10002c67
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
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, 0x5b562a09
mov ecx, 0x317c2f2d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
mov edx, ecx
sub edx, 0x5735bbc0
sub edx, 1
add edx, 0x5735bbc0
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, 0x5b562a09
mov ecx, 0x50de59b8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dl, byte [ebp - 0x29]
mov eax, 0x835e3563
mov ecx, 0x46a71d95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
mov edx, ecx
sub edx, 0xcc447a70
sub edx, 1
add edx, 0xcc447a70
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, 0xebd17a86
mov ecx, 0x4c55dcc9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
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, 0xebd17a86
mov ecx, 0x906732d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0xe04267af
jmp 0x10002c67
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0x10]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x98], 0x86478d05
jmp 0x10002c67
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100151a0
call fcn.1000b1c0
add esp, 8
mov edx, eax
mov eax, 0xdb24ebcd
mov ecx, 0xe4ca2e9b
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x4fd1ab5b
add edx, eax
sub edx, 0x4fd1ab5b
mov eax, dword [ebp - 0x60]
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 al
and al, 1
mov byte [ebp - 0x19], al
mov dword [ebp - 0x98], 0x7be95319
jmp 0x10002c67
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x19]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x1006fb50]
mov eax, dword [0x1006fb4c]
mov edx, ecx
add edx, 0x1274f885
sub edx, 1
sub edx, 0x1274f885
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, 0xe4bbd48e
mov ecx, 0xa557e7e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x7b3c6c31
jmp 0x10002c67
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xc6a10222
add ecx, eax
sub ecx, 0xc6a10222
mov eax, dword [ebp - 0x64]
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.10008fb0
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xd55f7113
add esi, eax
add esi, 0xd55f7113
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x9be559a2
sub edx, 1
sub edx, 0x9be559a2
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, 0x771a7063
mov ecx, 0xf1311660
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0xe4ca2e9b
jmp 0x10002c67
mov dword [ebp - 0x98], 0xaa282ad9
jmp 0x10002c67
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x98], 0x13c2761b
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0x6cec9c62
sub edx, 1
sub edx, 0x6cec9c62
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, 0xf575e680
mov ecx, 0xc6685aec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x68]
mov word [eax], cx
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
sub edx, 0xc1e786b5
sub edx, 1
add edx, 0xc1e786b5
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, 0xf575e680
mov ecx, 0xd0dca9a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0xf8ab978a
jmp 0x10002c67
mov dword [ebp - 0x98], 0xaa37d311
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
add edx, 0xa2383947
sub edx, 1
sub edx, 0xa2383947
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, 0xe9e2654a
mov ecx, 0x6f201645
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x9b9a56c9
jmp 0x10002c67
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0x87ca6801
jmp 0x10002c67
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
mov edx, eax
sub edx, 0xe2c01996
sub edx, 1
add edx, 0xe2c01996
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, 0x2212fb1b
mov ecx, 0x566b301d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006fb50]
mov ecx, dword [0x1006fb4c]
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, 0x2212fb1b
mov ecx, 0x8b7deca1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002c67
mov dword [ebp - 0x98], 0x1fc5be27
jmp 0x10002c67
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10008230
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov dword [ebp - 0x98], 0x9cd830da
jmp 0x10002c67
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
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 eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0x644dd4c3
jmp 0x10002c67
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], 0x3f28afd1
jmp 0x10002c67
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], 0x96eae11b
jmp 0x10002c67
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x58238e2c
jmp 0x10002c67
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x98], 0x317c2f2d
jmp 0x10002c67
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x4c55dcc9
jmp 0x10002c67
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x19]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x98], 0xf2a0feed
jmp 0x10002c67
mov cx, word [ebp - 0x12]
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 - 0x68]
mov word [eax], cx
mov dword [ebp - 0x98], 0xc6685aec
jmp 0x10002c67
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x6f201645
jmp 0x10002c67
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x566b301d
jmp 0x10001228