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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xb4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x1006b804]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
sub edx, 0x97c33c05
sub edx, 1
add edx, 0x97c33c05
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xa2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa1], al
mov dword [ebp - 0xa8], 0xc267dc3a
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x8193bb5d
je 0x10003e76
jmp 0x10001493
mov eax, dword [ebp - 0xb0]
sub eax, 0x863904ca
je 0x10002eee
jmp 0x100014a9
mov eax, dword [ebp - 0xb0]
sub eax, 0x863e82c7
je 0x10003e1f
jmp 0x100014bf
mov eax, dword [ebp - 0xb0]
sub eax, 0x86bbf8b3
je 0x10003bf7
jmp 0x100014d5
mov eax, dword [ebp - 0xb0]
sub eax, 0x8896d4f8
je 0x100034c1
jmp 0x100014eb
mov eax, dword [ebp - 0xb0]
sub eax, 0x88a7084c
je 0x10003d54
jmp 0x10001501
mov eax, dword [ebp - 0xb0]
sub eax, 0x8ba99bd7
je 0x10003c59
jmp 0x10001517
mov eax, dword [ebp - 0xb0]
sub eax, 0x8bf8d7cd
je 0x10002b41
jmp 0x1000152d
mov eax, dword [ebp - 0xb0]
sub eax, 0x933b5795
je 0x1000259d
jmp 0x10001543
mov eax, dword [ebp - 0xb0]
sub eax, 0x950c7c06
je 0x10003c0c
jmp 0x10001559
mov eax, dword [ebp - 0xb0]
sub eax, 0x958aa4d6
je 0x10003486
jmp 0x1000156f
mov eax, dword [ebp - 0xb0]
sub eax, 0x959fee64
je 0x1000390f
jmp 0x10001585
mov eax, dword [ebp - 0xb0]
sub eax, 0x97065647
je 0x10002178
jmp 0x1000159b
mov eax, dword [ebp - 0xb0]
sub eax, 0x9ad778ca
je 0x10002ae1
jmp 0x100015b1
mov eax, dword [ebp - 0xb0]
sub eax, 0x9e667533
je 0x10003c3b
jmp 0x100015c7
mov eax, dword [ebp - 0xb0]
sub eax, 0xa1cdbb62
je 0x10003d63
jmp 0x100015dd
mov eax, dword [ebp - 0xb0]
sub eax, 0xa6d35896
je 0x10003e10
jmp 0x100015f3
mov eax, dword [ebp - 0xb0]
sub eax, 0xab1e71fe
je 0x10003c21
jmp 0x10001609
mov eax, dword [ebp - 0xb0]
sub eax, 0xb05a2126
je 0x10003e9f
jmp 0x1000161f
mov eax, dword [ebp - 0xb0]
sub eax, 0xb245070e
je 0x10003dae
jmp 0x10001635
mov eax, dword [ebp - 0xb0]
sub eax, 0xb4166945
je 0x10003a69
jmp 0x1000164b
mov eax, dword [ebp - 0xb0]
sub eax, 0xb59d5659
je 0x10003868
jmp 0x10001661
mov eax, dword [ebp - 0xb0]
sub eax, 0xba2d7f86
je 0x1000290d
jmp 0x10001677
mov eax, dword [ebp - 0xb0]
sub eax, 0xbfce0123
je 0x10002c00
jmp 0x1000168d
mov eax, dword [ebp - 0xb0]
sub eax, 0xc267dc3a
je 0x10001f2a
jmp 0x100016a3
mov eax, dword [ebp - 0xb0]
sub eax, 0xc4e7ee16
je 0x10003b82
jmp 0x100016b9
mov eax, dword [ebp - 0xb0]
sub eax, 0xc5b62652
je 0x10003d27
jmp 0x100016cf
mov eax, dword [ebp - 0xb0]
sub eax, 0xc5f872fd
je 0x100021c2
jmp 0x100016e5
mov eax, dword [ebp - 0xb0]
sub eax, 0xc68f8fdb
je 0x1000274b
jmp 0x100016fb
mov eax, dword [ebp - 0xb0]
sub eax, 0xc93d22eb
je 0x10003f6a
jmp 0x10001711
mov eax, dword [ebp - 0xb0]
sub eax, 0xc9e6e11e
je 0x10002400
jmp 0x10001727
mov eax, dword [ebp - 0xb0]
sub eax, 0xcce5df61
je 0x100024f3
jmp 0x1000173d
mov eax, dword [ebp - 0xb0]
sub eax, 0xcdc5c5e7
je 0x10003522
jmp 0x10001753
mov eax, dword [ebp - 0xb0]
sub eax, 0xcf24b878
je 0x100033d9
jmp 0x10001769
mov eax, dword [ebp - 0xb0]
sub eax, 0xd07a7860
je 0x100032e1
jmp 0x1000177f
mov eax, dword [ebp - 0xb0]
sub eax, 0xd18044b6
je 0x1000349d
jmp 0x10001795
mov eax, dword [ebp - 0xb0]
sub eax, 0xd1cdf3d3
je 0x10002ec1
jmp 0x100017ab
mov eax, dword [ebp - 0xb0]
sub eax, 0xd3acc940
je 0x10003c68
jmp 0x100017c1
mov eax, dword [ebp - 0xb0]
sub eax, 0xd48a0534
je 0x10003e90
jmp 0x100017d7
mov eax, dword [ebp - 0xb0]
sub eax, 0xd4ac770d
je 0x10003753
jmp 0x100017ed
mov eax, dword [ebp - 0xb0]
sub eax, 0xd556da19
je 0x10003b93
jmp 0x10001803
mov eax, dword [ebp - 0xb0]
sub eax, 0xdca85803
je 0x10002cf7
jmp 0x10001819
mov eax, dword [ebp - 0xb0]
sub eax, 0xde75b7ac
je 0x1000326b
jmp 0x1000182f
mov eax, dword [ebp - 0xb0]
sub eax, 0xdf218579
je 0x10002ed0
jmp 0x10001845
mov eax, dword [ebp - 0xb0]
sub eax, 0xe216e447
je 0x10002af0
jmp 0x1000185b
mov eax, dword [ebp - 0xb0]
sub eax, 0xe6b659f5
je 0x1000391e
jmp 0x10001871
mov eax, dword [ebp - 0xb0]
sub eax, 0xe73cd6d5
je 0x10003388
jmp 0x10001887
mov eax, dword [ebp - 0xb0]
sub eax, 0xedc70735
je 0x10002392
jmp 0x1000189d
mov eax, dword [ebp - 0xb0]
sub eax, 0xee9e7a7b
je 0x100029e6
jmp 0x100018b3
mov eax, dword [ebp - 0xb0]
sub eax, 0xeea50c4e
je 0x10002294
jmp 0x100018c9
mov eax, dword [ebp - 0xb0]
sub eax, 0xef6ed0c8
je 0x1000345f
jmp 0x100018df
mov eax, dword [ebp - 0xb0]
sub eax, 0xf0d65c3d
je 0x10002243
jmp 0x100018f5
mov eax, dword [ebp - 0xb0]
sub eax, 0xf19136eb
je 0x100036df
jmp 0x1000190b
mov eax, dword [ebp - 0xb0]
sub eax, 0xf2af8fe6
je 0x10003ed8
jmp 0x10001921
mov eax, dword [ebp - 0xb0]
sub eax, 0xf6ce5aa4
je 0x10003eb4
jmp 0x10001937
mov eax, dword [ebp - 0xb0]
sub eax, 0xf82223f6
je 0x10003f06
jmp 0x1000194d
mov eax, dword [ebp - 0xb0]
sub eax, 0xfab5601b
je 0x10001ff4
jmp 0x10001963
mov eax, dword [ebp - 0xb0]
sub eax, 0xfd407ff2
je 0x10003010
jmp 0x10001979
mov eax, dword [ebp - 0xb0]
sub eax, 0x32119b2
je 0x10003744
jmp 0x1000198f
mov eax, dword [ebp - 0xb0]
sub eax, 0x40d9a33
je 0x10003fde
jmp 0x100019a5
mov eax, dword [ebp - 0xb0]
sub eax, 0x475e149
je 0x100021fa
jmp 0x100019bb
mov eax, dword [ebp - 0xb0]
sub eax, 0x634dc2f
je 0x10003362
jmp 0x100019d1
mov eax, dword [ebp - 0xb0]
sub eax, 0x7e8d47c
je 0x10002319
jmp 0x100019e7
mov eax, dword [ebp - 0xb0]
sub eax, 0x11259e86
je 0x100032f0
jmp 0x100019fd
mov eax, dword [ebp - 0xb0]
sub eax, 0x117be170
je 0x10003671
mov bl, byte [ebp - 0xa2]
mov dh, byte [ebp - 0xa1]
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, 0x3d9748a7
mov ecx, 0x4592c8c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
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, 0xd556da19
mov ecx, 0x665dcec7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x4253080e
jmp 0x10003fe8
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa8], 0x39fe3ee7
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
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, 0x5e17bffd
mov ecx, 0xf0d65c3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0xaeb6943d
sub edx, 1
sub edx, 0xaeb6943d
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, 0x5e17bffd
mov ecx, 0xeea50c4e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xc4e7ee16
jmp 0x10003fe8
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
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, 0x86bbf8b3
mov ecx, 0xedc70735
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
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, 0x88a7084c
mov ecx, 0xc9e6e11e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
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, 0x88a7084c
mov ecx, 0x554ba238
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov ecx, 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 - 0x9c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
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, 0xa1cdbb62
mov ecx, 0x933b5795
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x2be322c7
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0x246cb96
sub edx, 1
sub edx, 0x246cb96
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, 0x52e4b2de
mov ecx, 0x1e1109cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0xe272b2ba
sub edx, 1
sub edx, 0xe272b2ba
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, 0x950c7c06
mov ecx, 0x1456a1d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
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, 0x863e82c7
mov ecx, 0x791549ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xe216e447
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
sub edx, 0x45035733
sub edx, 1
add edx, 0x45035733
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, 0x76ef4752
mov ecx, 0x8bf8d7cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0x5740edf
sub edx, 1
sub edx, 0x5740edf
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, 0x76ef4752
mov ecx, 0x2039be5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
add edx, 0xa2202fb9
sub edx, 1
sub edx, 0xa2202fb9
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, 0x8193bb5d
mov ecx, 0x72a47af9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0x3460180
sub edx, 1
sub edx, 0x3460180
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, 0xab1e71fe
mov ecx, 0x298bc399
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xdf218579
jmp 0x10003fe8
mov dl, byte [ebp - 0x49]
mov eax, 0x863904ca
mov ecx, 0x11259e86
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
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, 0xf6ce5aa4
mov ecx, 0x163d2463
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
sub edx, 0xfeafe9fe
sub edx, 1
add edx, 0xfeafe9fe
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, 0x3777c2e7
mov ecx, 0x7778ce11
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
add edx, 0xcaed92c1
sub edx, 1
sub edx, 0xcaed92c1
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, 0x8ba99bd7
mov ecx, 0xd07a7860
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xc4e7ee16
jmp 0x10003fe8
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa8], 0x634dc2f
jmp 0x10003fe8
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa8], 0xe73cd6d5
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
sub edx, 0x6ad181dd
sub edx, 1
add edx, 0x6ad181dd
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, 0x35bb4aea
mov ecx, 0xcf24b878
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov word [eax], 0
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
add edx, 0x824fcc5b
sub edx, 1
sub edx, 0x824fcc5b
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, 0x35bb4aea
mov ecx, 0xef6ed0c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x2d1011c8
jmp 0x10003fe8
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa8], 0xd18044b6
jmp 0x10003fe8
mov eax, dword [ebp - 0x34]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x38]
mov eax, 0x6ab3e0df
mov ecx, 0x8896d4f8
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
mov edx, eax
add edx, 0x18
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa8], 0x5620d57a
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
sub edx, 0x42ae2364
sub edx, 1
add edx, 0x42ae2364
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, 0xf82223f6
mov ecx, 0x4866e245
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
mov edx, eax
add edx, 0x243d7539
sub edx, 1
sub edx, 0x243d7539
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, 0x16f3df52
mov ecx, 0x32119b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xd4ac770d
jmp 0x10003fe8
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov byte [eax], cl
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xf23f462a
add ecx, eax
add ecx, 0xf23f462a
mov eax, dword [ebp - 0x74]
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.1000dbc0
add esp, 0xc
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa8], 0x1a0f9a04
jmp 0x10003fe8
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
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 esi, esi
sub esi, eax
mov eax, dword [ebp - 0x70]
mov ecx, 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 - 0x6c]
mov byte [eax], cl
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
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, 0xc93d22eb
mov ecx, 0x4a88fde6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xe6b659f5
jmp 0x10003fe8
mov eax, dword [ebp - 0x78]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0xa8], 0x1d353991
jmp 0x10003fe8
mov ecx, dword [0x1006caa0]
mov eax, dword [0x1006ca9c]
mov edx, ecx
sub edx, 0xe8091beb
sub edx, 1
add edx, 0xe8091beb
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, 0x370dbbd6
mov ecx, 0x53f74fb9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1000ce30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0xac]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xbc], edx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xb8], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xbc]
mov edx, eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000da60
add esp, 0xc
mov dword [ebp - 0xa8], 0x665dcec7
jmp 0x10003fe8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], 0x7e8d47c
jmp 0x10003fe8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], 0x1456a1d8
jmp 0x10003fe8
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0xbfce0123
jmp 0x10003fe8
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x609f1282
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x70ef41cb
jmp 0x10003fe8
mov eax, dword [0x1006caa0]
mov ecx, dword [0x1006ca9c]
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, 0x40d9a33
mov ecx, 0x7b070bf2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x693742c1
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0xc9e6e11e
jmp 0x10003fe8
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov ecx, 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 - 0x9c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0xcce5df61
jmp 0x10003fe8
mov eax, dword [ebp - 0x90]
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 - 0xa8], 0x1af4e595
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x34bb011f
jmp 0x10003fe8
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 dword [ebp - 0xa8], 0x791549ea
jmp 0x10003fe8
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0x72a47af9
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x7b47a2d9
jmp 0x10003fe8
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa8], 0x7d544317
jmp 0x10003fe8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], 0x163d2463
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x7a06eb3e
jmp 0x10003fe8
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x10017190
call fcn.1000e9f0
add esp, 8
mov dword [ebp - 0xa8], 0x4866e245
jmp 0x10003fe8
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x94]
mov esi, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x70]
mov ecx, 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 - 0x6c]
mov byte [eax], cl
mov dword [ebp - 0xa8], 0xb59d5659
jmp 0x10003fe8
mov dword [ebp - 0xa8], 0x7b070bf2
jmp 0x10001477