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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x1003f600]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
sub edx, 0x4a59047
sub edx, 1
add edx, 0x4a59047
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x86], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x85], al
mov dword [ebp - 0x8c], 0x944f27ac
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x8056d93a
je 0x10002202
jmp 0x10001254
mov eax, dword [ebp - 0x94]
sub eax, 0x815c957a
je 0x10002646
jmp 0x1000126a
mov eax, dword [ebp - 0x94]
sub eax, 0x87610cc6
je 0x10001ea0
jmp 0x10001280
mov eax, dword [ebp - 0x94]
sub eax, 0x89c58218
je 0x10001859
jmp 0x10001296
mov eax, dword [ebp - 0x94]
sub eax, 0x90a9c306
je 0x10001e82
jmp 0x100012ac
mov eax, dword [ebp - 0x94]
sub eax, 0x91ba7d0a
je 0x1000215d
jmp 0x100012c2
mov eax, dword [ebp - 0x94]
sub eax, 0x944f27ac
je 0x10001805
jmp 0x100012d8
mov eax, dword [ebp - 0x94]
sub eax, 0x9986ac4b
je 0x100027cc
jmp 0x100012ee
mov eax, dword [ebp - 0x94]
sub eax, 0x9a7af5bc
je 0x1000208f
jmp 0x10001304
mov eax, dword [ebp - 0x94]
sub eax, 0x9cce644c
je 0x1000210f
jmp 0x1000131a
mov eax, dword [ebp - 0x94]
sub eax, 0xa682d146
je 0x100024ec
jmp 0x10001330
mov eax, dword [ebp - 0x94]
sub eax, 0xa9713593
je 0x1000247d
jmp 0x10001346
mov eax, dword [ebp - 0x94]
sub eax, 0xaba9111f
je 0x10001d8d
jmp 0x1000135c
mov eax, dword [ebp - 0x94]
sub eax, 0xaf174e94
je 0x10001ffb
jmp 0x10001372
mov eax, dword [ebp - 0x94]
sub eax, 0xb0411764
je 0x10001dba
jmp 0x10001388
mov eax, dword [ebp - 0x94]
sub eax, 0xb0a48e4b
je 0x100019c0
jmp 0x1000139e
mov eax, dword [ebp - 0x94]
sub eax, 0xb4a5af3b
je 0x100021ae
jmp 0x100013b4
mov eax, dword [ebp - 0x94]
sub eax, 0xb848769a
je 0x100018de
jmp 0x100013ca
mov eax, dword [ebp - 0x94]
sub eax, 0xb9ac8ceb
je 0x10001c67
jmp 0x100013e0
mov eax, dword [ebp - 0x94]
sub eax, 0xbc59a61c
je 0x100018ed
jmp 0x100013f6
mov eax, dword [ebp - 0x94]
sub eax, 0xbe269d5b
je 0x1000211e
jmp 0x1000140c
mov eax, dword [ebp - 0x94]
sub eax, 0xc06c21ff
je 0x10002137
jmp 0x10001422
mov eax, dword [ebp - 0x94]
sub eax, 0xc277f96c
je 0x10001ee5
jmp 0x10001438
mov eax, dword [ebp - 0x94]
sub eax, 0xcee4ec9e
je 0x10002021
jmp 0x1000144e
mov eax, dword [ebp - 0x94]
sub eax, 0xda7d2c42
je 0x10001c58
jmp 0x10001464
mov eax, dword [ebp - 0x94]
sub eax, 0xe349bcb7
je 0x10001c7e
jmp 0x1000147a
mov eax, dword [ebp - 0x94]
sub eax, 0xe446c194
je 0x100027ae
jmp 0x10001490
mov eax, dword [ebp - 0x94]
sub eax, 0xe6cdd2e4
je 0x10001b67
jmp 0x100014a6
mov eax, dword [ebp - 0x94]
sub eax, 0xe818e71b
je 0x10001f5b
jmp 0x100014bc
mov eax, dword [ebp - 0x94]
sub eax, 0xe89cb7bc
je 0x1000281f
jmp 0x100014d2
mov eax, dword [ebp - 0x94]
sub eax, 0xeab33896
je 0x1000200a
jmp 0x100014e8
mov eax, dword [ebp - 0x94]
sub eax, 0xebb81c12
je 0x100025f5
jmp 0x100014fe
mov eax, dword [ebp - 0x94]
sub eax, 0xec4ad712
je 0x10001af4
jmp 0x10001514
mov eax, dword [ebp - 0x94]
sub eax, 0xec57efc6
je 0x1000274d
jmp 0x1000152a
mov eax, dword [ebp - 0x94]
sub eax, 0xee4318ae
je 0x100025a5
jmp 0x10001540
mov eax, dword [ebp - 0x94]
sub eax, 0xf3d4b39f
je 0x10001ccf
jmp 0x10001556
mov eax, dword [ebp - 0x94]
sub eax, 0xfafb1c28
je 0x10001e91
jmp 0x1000156c
mov eax, dword [ebp - 0x94]
sub eax, 0x169b716
je 0x10001c07
jmp 0x10001582
mov eax, dword [ebp - 0x94]
sub eax, 0x3c69ce7
je 0x10001b91
jmp 0x10001598
mov eax, dword [ebp - 0x94]
sub eax, 0x4170355
je 0x10002190
jmp 0x100015ae
mov eax, dword [ebp - 0x94]
sub eax, 0x7955d9b
je 0x100019cf
jmp 0x100015c4
mov eax, dword [ebp - 0x94]
sub eax, 0xd2da902
je 0x10001a45
jmp 0x100015da
mov eax, dword [ebp - 0x94]
sub eax, 0x1381e58d
je 0x10001d9c
jmp 0x100015f0
mov eax, dword [ebp - 0x94]
sub eax, 0x153a6779
je 0x1000249b
jmp 0x10001606
mov eax, dword [ebp - 0x94]
sub eax, 0x1859ccb5
je 0x10001e22
jmp 0x1000161c
mov eax, dword [ebp - 0x94]
sub eax, 0x242af3c4
je 0x10002399
jmp 0x10001632
mov eax, dword [ebp - 0x94]
sub eax, 0x2adc1ffe
je 0x100026dc
jmp 0x10001648
mov eax, dword [ebp - 0x94]
sub eax, 0x3966c113
je 0x100026fd
jmp 0x1000165e
mov eax, dword [ebp - 0x94]
sub eax, 0x47c22a39
je 0x10001ae5
jmp 0x10001674
mov eax, dword [ebp - 0x94]
sub eax, 0x49ac4a55
je 0x10002929
jmp 0x1000168a
mov eax, dword [ebp - 0x94]
sub eax, 0x4e55eb81
je 0x10001dd1
jmp 0x100016a0
mov eax, dword [ebp - 0x94]
sub eax, 0x5619f658
je 0x1000293b
jmp 0x100016b6
mov eax, dword [ebp - 0x94]
sub eax, 0x5723e1f0
je 0x100026eb
jmp 0x100016cc
mov eax, dword [ebp - 0x94]
sub eax, 0x597f24ee
je 0x1000275c
jmp 0x100016e2
mov eax, dword [ebp - 0x94]
sub eax, 0x6132db6a
je 0x1000257b
jmp 0x100016f8
mov eax, dword [ebp - 0x94]
sub eax, 0x6321bc0d
je 0x1000270c
jmp 0x1000170e
mov eax, dword [ebp - 0x94]
sub eax, 0x651e4477
je 0x10002323
jmp 0x10001724
mov eax, dword [ebp - 0x94]
sub eax, 0x6857336c
je 0x1000248c
jmp 0x1000173a
mov eax, dword [ebp - 0x94]
sub eax, 0x68924178
je 0x100025de
jmp 0x10001750
mov eax, dword [ebp - 0x94]
sub eax, 0x6ac4844d
je 0x100022f2
jmp 0x10001766
mov eax, dword [ebp - 0x94]
sub eax, 0x6cfee347
je 0x10002301
jmp 0x1000177c
mov eax, dword [ebp - 0x94]
sub eax, 0x6d5f4ec8
je 0x10001957
jmp 0x10001792
mov eax, dword [ebp - 0x94]
sub eax, 0x6f1ff34d
je 0x100025be
jmp 0x100017a8
mov eax, dword [ebp - 0x94]
sub eax, 0x779f3f97
je 0x10002253
jmp 0x100017be
mov eax, dword [ebp - 0x94]
sub eax, 0x77e37ae4
je 0x10002879
mov bl, byte [ebp - 0x86]
mov dh, byte [ebp - 0x85]
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, 0x3966c113
mov ecx, 0x89c58218
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
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, 0x3966c113
mov ecx, 0xb848769a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0xbc59a61c
jmp 0x10002965
mov ecx, dword [ebp - 0x90]
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
sub esp, 0x104
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
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x6d5f4ec8
jmp 0x10002965
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010b80
add esp, 0xc
mov eax, dword [ebp - 0x84]
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 - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
mov eax, 0xb0a48e4b
mov ecx, 0x7955d9b
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x5723e1f0
jmp 0x10002965
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
sub edx, 0xab572785
sub edx, 1
add edx, 0xab572785
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, 0x6321bc0d
mov ecx, 0xd2da902
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x7c]
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 - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
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, 0x6321bc0d
mov ecx, 0x47c22a39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0xec4ad712
jmp 0x10002965
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x78]
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 - 0x70]
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 - 0x48], eax
mov dword [ebp - 0x8c], 0xe6cdd2e4
jmp 0x10002965
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov edx, dword [ebp - 0x6c]
mov esi, 0xffffffff
mov eax, 0xb9ac8ceb
mov ecx, 0x3c69ce7
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
add edx, 0x83ceb44e
sub edx, 1
sub edx, 0x83ceb44e
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, 0xec57efc6
mov ecx, 0x169b716
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
sub edx, 0x8f7db546
sub edx, 1
add edx, 0x8f7db546
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, 0xec57efc6
mov ecx, 0xda7d2c42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x5723e1f0
jmp 0x10002965
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x8c], 0xe349bcb7
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
add edx, 0x61f00e21
sub edx, 1
sub edx, 0x61f00e21
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, 0x597f24ee
mov ecx, 0xf3d4b39f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x44]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
add edx, 0x30fe2aca
sub edx, 1
sub edx, 0x30fe2aca
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, 0x597f24ee
mov ecx, 0xaba9111f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x1381e58d
jmp 0x10002965
mov edx, dword [ebp - 0x40]
mov eax, 0xb0411764
mov ecx, 0x87610cc6
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x8c], 0x4e55eb81
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
sub edx, 0x4c19d7c0
sub edx, 1
add edx, 0x4c19d7c0
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, 0xe446c194
mov ecx, 0x1859ccb5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
add edx, 0xef0cf25
sub edx, 1
sub edx, 0xef0cf25
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, 0xe446c194
mov ecx, 0x90a9c306
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0xfafb1c28
jmp 0x10002965
mov dword [ebp - 0x8c], 0x5723e1f0
jmp 0x10002965
mov eax, dword [ebp - 0x68]
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 dword [ebp - 0x38], eax
mov dword [ebp - 0x8c], 0xc277f96c
jmp 0x10002965
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
sub edx, 0x15d444d2
sub edx, 1
add edx, 0x15d444d2
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, 0x9986ac4b
mov ecx, 0xe818e71b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x348de110
add ecx, eax
add ecx, 0x348de110
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
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, 0x9986ac4b
mov ecx, 0xaf174e94
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0xeab33896
jmp 0x10002965
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov dword [ebp - 0x8c], 0xcee4ec9e
jmp 0x10002965
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
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, 0x7b893000
mov ecx, 0x9a7af5bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
mov word [ebp - 0x32], ax
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
add edx, 0x104bfc44
sub edx, 1
sub edx, 0x104bfc44
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, 0x7b893000
mov ecx, 0x9cce644c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0xbe269d5b
jmp 0x10002965
mov ax, word [ebp - 0x32]
movzx eax, ax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8c], 0xc06c21ff
jmp 0x10002965
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x30]
mov eax, 0x6f1ff34d
mov ecx, 0x91ba7d0a
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x760fe8bf
add eax, ecx
sub eax, 0x760fe8bf
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x8c], 0x4170355
jmp 0x10002965
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
movzx eax, word [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x8c], 0xb4a5af3b
jmp 0x10002965
mov eax, dword [ebp - 0x24]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x28]
add ecx, 0x22ba7cd5
add ecx, eax
sub ecx, 0x22ba7cd5
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001d3b0
call fcn.10012ef0
add esp, 8
mov edx, eax
mov eax, 0x8056d93a
mov ecx, 0x6857336c
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
sub edx, 0x685a2cae
sub edx, 1
add edx, 0x685a2cae
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, 0xe89cb7bc
mov ecx, 0x779f3f97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x50]
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 - 0x1d], al
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
add edx, 0xbe90ac6
sub edx, 1
sub edx, 0xbe90ac6
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, 0xe89cb7bc
mov ecx, 0x6ac4844d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x6cfee347
jmp 0x10002965
mov cl, byte [ebp - 0x1d]
and cl, 1
mov eax, dword [ebp - 0x4c]
mov byte [eax], cl
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c], 0x651e4477
jmp 0x10002965
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
sub edx, 0xe69026ec
sub edx, 1
add edx, 0xe69026ec
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, 0x77e37ae4
mov ecx, 0x242af3c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
add edx, 0x3e8c5c29
add edx, eax
sub edx, 0x3e8c5c29
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x54]
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.10010ce0
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x74]
mov esi, dword [eax]
mov eax, dword [ebp - 0x54]
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 - 0x50]
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 - 0x4c]
mov byte [eax], cl
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
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, 0x77e37ae4
mov ecx, 0xa9713593
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x6857336c
jmp 0x10002965
mov dword [ebp - 0x8c], 0x153a6779
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
sub edx, 0x73d7c4c2
sub edx, 1
add edx, 0x73d7c4c2
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, 0x49ac4a55
mov ecx, 0xa682d146
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
add edx, 0x8f5cc2d3
sub edx, 1
sub edx, 0x8f5cc2d3
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, 0x49ac4a55
mov ecx, 0x7934db68
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov ax, word [ebp - 0x18]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x16], ax
mov dword [ebp - 0x8c], 0xee4318ae
jmp 0x10002965
mov eax, dword [ebp - 0x58]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x8c], 0xcee4ec9e
jmp 0x10002965
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x68924178
jmp 0x10002965
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x8c], 0xebb81c12
jmp 0x10002965
mov eax, dword [0x10040940]
mov ecx, dword [0x1004093c]
mov edx, eax
sub edx, 0x2efa3795
sub edx, 1
add edx, 0x2efa3795
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, 0x5619f658
mov ecx, 0x815c957a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
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 ecx, dword [0x10040940]
mov eax, dword [0x1004093c]
mov edx, ecx
add edx, 0xb19e3a47
sub edx, 1
sub edx, 0xb19e3a47
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, 0x5619f658
mov ecx, 0x2adc1ffe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x10002965
mov dword [ebp - 0x8c], 0x5723e1f0
jmp 0x10002965
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000ff80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x8c], 0x89c58218
jmp 0x10002965
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x7c]
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 - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xd2da902
jmp 0x10002965
mov dword [ebp - 0x8c], 0x169b716
jmp 0x10002965
mov eax, dword [ebp - 0x44]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x8c], 0xf3d4b39f
jmp 0x10002965
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x1859ccb5
jmp 0x10002965
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0xbf8d8286
add ecx, eax
sub ecx, 0xbf8d8286
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0xe818e71b
jmp 0x10002965
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x50a1a31c
add edx, eax
add edx, 0x50a1a31c
mov eax, dword [ebp - 0x50]
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]
mov dword [ebp - 0x8c], 0x779f3f97
jmp 0x10002965
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x8c], 0xa682d146
jmp 0x10002965
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 dword [ebp - 0x8c], 0x815c957a
jmp 0x10001238