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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xb0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x1006cc04]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xae], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xad], al
mov dword [ebp - 0xb4], 0x102f69c8
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], eax
sub eax, 0x804a3baa
je 0x10003d43
jmp 0x100013bc
mov eax, dword [ebp - 0xbc]
sub eax, 0x814d0a65
je 0x1000237e
jmp 0x100013d2
mov eax, dword [ebp - 0xbc]
sub eax, 0x8650d044
je 0x10002c07
jmp 0x100013e8
mov eax, dword [ebp - 0xbc]
sub eax, 0x87f68d8c
je 0x10002827
jmp 0x100013fe
mov eax, dword [ebp - 0xbc]
sub eax, 0x89c762b6
je 0x10003eae
jmp 0x10001414
mov eax, dword [ebp - 0xbc]
sub eax, 0x8c22bed8
je 0x10003c94
jmp 0x1000142a
mov eax, dword [ebp - 0xbc]
sub eax, 0x961dec35
je 0x10002d9b
jmp 0x10001440
mov eax, dword [ebp - 0xbc]
sub eax, 0x96e528f5
je 0x10003deb
jmp 0x10001456
mov eax, dword [ebp - 0xbc]
sub eax, 0x98ff4226
je 0x10003876
jmp 0x1000146c
mov eax, dword [ebp - 0xbc]
sub eax, 0x99b1fd26
je 0x100034c9
jmp 0x10001482
mov eax, dword [ebp - 0xbc]
sub eax, 0x9afb5b7d
je 0x10003447
jmp 0x10001498
mov eax, dword [ebp - 0xbc]
sub eax, 0x9f7c09c8
je 0x100027d6
jmp 0x100014ae
mov eax, dword [ebp - 0xbc]
sub eax, 0xa2db6921
je 0x1000364d
jmp 0x100014c4
mov eax, dword [ebp - 0xbc]
sub eax, 0xa30124e3
je 0x100025d6
jmp 0x100014da
mov eax, dword [ebp - 0xbc]
sub eax, 0xa8bcf04d
je 0x100028a3
jmp 0x100014f0
mov eax, dword [ebp - 0xbc]
sub eax, 0xa903ac66
je 0x10002885
jmp 0x10001506
mov eax, dword [ebp - 0xbc]
sub eax, 0xaba61d8a
je 0x10003a9d
jmp 0x1000151c
mov eax, dword [ebp - 0xbc]
sub eax, 0xabcf0df7
je 0x10003046
jmp 0x10001532
mov eax, dword [ebp - 0xbc]
sub eax, 0xac1bc03a
je 0x10003e73
jmp 0x10001548
mov eax, dword [ebp - 0xbc]
sub eax, 0xad544f35
je 0x100039ca
jmp 0x1000155e
mov eax, dword [ebp - 0xbc]
sub eax, 0xad8de791
je 0x10001fd1
jmp 0x10001574
mov eax, dword [ebp - 0xbc]
sub eax, 0xafb4e5f6
je 0x1000382f
jmp 0x1000158a
mov eax, dword [ebp - 0xbc]
sub eax, 0xb1ecdba5
je 0x10003b96
jmp 0x100015a0
mov eax, dword [ebp - 0xbc]
sub eax, 0xb4fd4f43
je 0x10002af0
jmp 0x100015b6
mov eax, dword [ebp - 0xbc]
sub eax, 0xb6d49b4b
je 0x10003858
jmp 0x100015cc
mov eax, dword [ebp - 0xbc]
sub eax, 0xb7d83b64
je 0x1000333f
jmp 0x100015e2
mov eax, dword [ebp - 0xbc]
sub eax, 0xb845e7ad
je 0x10002157
jmp 0x100015f8
mov eax, dword [ebp - 0xbc]
sub eax, 0xbb30045a
je 0x100020db
jmp 0x1000160e
mov eax, dword [ebp - 0xbc]
sub eax, 0xbcef8715
je 0x10003429
jmp 0x10001624
mov eax, dword [ebp - 0xbc]
sub eax, 0xc0188ab8
je 0x10002175
jmp 0x1000163a
mov eax, dword [ebp - 0xbc]
sub eax, 0xc4ead119
je 0x10003d52
jmp 0x10001650
mov eax, dword [ebp - 0xbc]
sub eax, 0xc4effb0b
je 0x10002d72
jmp 0x10001666
mov eax, dword [ebp - 0xbc]
sub eax, 0xc5598075
je 0x10003c21
jmp 0x1000167c
mov eax, dword [ebp - 0xbc]
sub eax, 0xc602f851
je 0x100031ad
jmp 0x10001692
mov eax, dword [ebp - 0xbc]
sub eax, 0xc75a3b7a
je 0x10003b20
jmp 0x100016a8
mov eax, dword [ebp - 0xbc]
sub eax, 0xc902c3d6
je 0x100023cf
jmp 0x100016be
mov eax, dword [ebp - 0xbc]
sub eax, 0xcc214add
je 0x10003e09
jmp 0x100016d4
mov eax, dword [ebp - 0xbc]
sub eax, 0xce3bb1c9
je 0x10002b50
jmp 0x100016ea
mov eax, dword [ebp - 0xbc]
sub eax, 0xcf7eda02
je 0x100035a6
jmp 0x10001700
mov eax, dword [ebp - 0xbc]
sub eax, 0xd0cc034e
je 0x1000383e
jmp 0x10001716
mov eax, dword [ebp - 0xbc]
sub eax, 0xd1c56d65
je 0x10003ddc
jmp 0x1000172c
mov eax, dword [ebp - 0xbc]
sub eax, 0xd23fbf6d
je 0x1000334e
jmp 0x10001742
mov eax, dword [ebp - 0xbc]
sub eax, 0xd31578b8
je 0x100032cf
jmp 0x10001758
mov eax, dword [ebp - 0xbc]
sub eax, 0xd4db0d8e
je 0x100035b5
jmp 0x1000176e
mov eax, dword [ebp - 0xbc]
sub eax, 0xd82b1f67
je 0x100037b6
jmp 0x10001784
mov eax, dword [ebp - 0xbc]
sub eax, 0xd8b2ed67
je 0x10003dfa
jmp 0x1000179a
mov eax, dword [ebp - 0xbc]
sub eax, 0xd8e28522
je 0x100030b4
jmp 0x100017b0
mov eax, dword [ebp - 0xbc]
sub eax, 0xd95d13d5
je 0x1000374c
jmp 0x100017c6
mov eax, dword [ebp - 0xbc]
sub eax, 0xd9659da6
je 0x1000392a
jmp 0x100017dc
mov eax, dword [ebp - 0xbc]
sub eax, 0xd9d69f1e
je 0x10002585
jmp 0x100017f2
mov eax, dword [ebp - 0xbc]
sub eax, 0xd9d9e149
je 0x10003b2f
jmp 0x10001808
mov eax, dword [ebp - 0xbc]
sub eax, 0xdbca3d20
je 0x10002cc6
jmp 0x1000181e
mov eax, dword [ebp - 0xbc]
sub eax, 0xdec4cb14
je 0x10003dcd
jmp 0x10001834
mov eax, dword [ebp - 0xbc]
sub eax, 0xdf827ad5
je 0x10003224
jmp 0x1000184a
mov eax, dword [ebp - 0xbc]
sub eax, 0xe1dc9485
je 0x10003765
jmp 0x10001860
mov eax, dword [ebp - 0xbc]
sub eax, 0xe284105a
je 0x1000224b
jmp 0x10001876
mov eax, dword [ebp - 0xbc]
sub eax, 0xe368cf09
je 0x10002a29
jmp 0x1000188c
mov eax, dword [ebp - 0xbc]
sub eax, 0xe4fa1978
je 0x10002e8a
jmp 0x100018a2
mov eax, dword [ebp - 0xbc]
sub eax, 0xe54c6279
je 0x10003206
jmp 0x100018b8
mov eax, dword [ebp - 0xbc]
sub eax, 0xe746ae7a
je 0x100025e5
jmp 0x100018ce
mov eax, dword [ebp - 0xbc]
sub eax, 0xead41c93
je 0x10002226
jmp 0x100018e4
mov eax, dword [ebp - 0xbc]
sub eax, 0xebbb0e85
je 0x10003cc1
jmp 0x100018fa
mov eax, dword [ebp - 0xbc]
sub eax, 0xecfad221
je 0x10002e52
jmp 0x10001910
mov eax, dword [ebp - 0xbc]
sub eax, 0xef434887
je 0x100027c7
jmp 0x10001926
mov eax, dword [ebp - 0xbc]
sub eax, 0xf110f60b
je 0x10003ca3
mov ecx, dword [ebp - 0xb8]
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
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xa8]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10012e20
add esp, 0xc
mov eax, dword [ebp - 0xac]
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 - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xb4], 0x33303337
jmp 0x10003f3b
mov eax, dword [ebp - 0x70]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x69], al
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xebbb0e85
mov ecx, 0xb845e7ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dl, byte [ebp - 0x69]
mov eax, 0xc0188ab8
mov ecx, 0xead41c93
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0xc925ee78
sub edx, 1
sub edx, 0xc925ee78
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, 0x2015fa2b
mov ecx, 0xff256b1c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xb4], 0xe284105a
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x36e5f95d
mov ecx, 0x2132ea5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0xd93025ab
sub edx, 1
sub edx, 0xd93025ab
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, 0xd9659da6
mov ecx, 0xc902c3d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x38754422
mov ecx, 0x643f979d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x3d6243f
sub edx, 1
add edx, 0x3d6243f
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, 0x804a3baa
mov ecx, 0xa30124e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xe746ae7a
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xfefab1f
mov ecx, 0x7a49571
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x9f7c09c8
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0xa74f93fb
sub edx, 1
add edx, 0xa74f93fb
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, 0x39aa769e
mov ecx, 0x87f68d8c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x55], al
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x39aa769e
mov ecx, 0xa903ac66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dl, byte [ebp - 0x55]
mov eax, 0xf145d5f9
mov ecx, 0xa8bcf04d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0x1b14118a
sub edx, 1
add edx, 0x1b14118a
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, 0xc75a3b7a
mov ecx, 0x1d901072
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0xaa189f72
sub edx, 1
sub edx, 0xaa189f72
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, 0xd1c56d65
mov ecx, 0x1139bdcd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x98ff4226
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
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 - 0x54], eax
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
add edx, 0x421eccc9
sub edx, 1
sub edx, 0x421eccc9
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, 0xd9d9e149
mov ecx, 0x8650d044
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x96e528f5
mov ecx, 0x78af6e2e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x3a711432
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x6aba7773
jmp 0x10003f3b
mov eax, dword [ebp - 0x50]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0xb4], 0x47903aac
jmp 0x10003f3b
mov dl, byte [ebp - 0x49]
mov eax, 0x4299cfa0
mov ecx, 0xfe392204
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb4], 0x522cc6bd
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0xb1ecdba5
mov ecx, 0xd8e28522
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x17a12c00
jmp 0x10003f3b
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x2ad546ad
mov ecx, 0xe54c6279
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dl, byte [ebp - 0x31]
mov eax, 0xe1dc9485
mov ecx, 0xdf827ad5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
xor ecx, ecx
mov edx, ecx
add edx, 0x18
sub ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
sub eax, 0x30ee1573
add eax, ecx
add eax, 0x30ee1573
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xb4], 0x711ad66d
jmp 0x10003f3b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x80]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xbbe9ff6c
add ecx, eax
sub ecx, 0xbbe9ff6c
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0x39bf16a3
mov ecx, 0xb7d83b64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xd23fbf6d
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x5afd5480
mov ecx, 0x791d76df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dl, byte [ebp - 0x25]
mov eax, 0x9afb5b7d
mov ecx, 0xa2db6921
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0x78]
mov dword [eax], 0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov byte [eax], cl
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x95670f46
add eax, ecx
sub eax, 0x95670f46
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xb4], 0x99b1fd26
jmp 0x10003f3b
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
mov edx, ecx
sub edx, 0x6a974a03
sub edx, 1
add edx, 0x6a974a03
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, 0xff7ab0b0
mov ecx, 0x7375944e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xd4db0d8e
jmp 0x10003f3b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add ecx, 0x7a1b3531
add ecx, eax
sub ecx, 0x7a1b3531
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10012f80
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x7c]
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 - 0x78]
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 - 0x74]
mov byte [eax], cl
mov dword [ebp - 0xb4], 0xa2db6921
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x13628262
jmp 0x10003f3b
mov eax, dword [ebp - 0x80]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xb4], 0x5c5163a5
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0xd953deed
sub edx, 1
sub edx, 0xd953deed
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, 0x89c762b6
mov ecx, 0xd82b1f67
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
sub edx, 0xd6557ffe
sub edx, 1
add edx, 0xd6557ffe
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, 0x89c762b6
mov ecx, 0xafb4e5f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xd0cc034e
jmp 0x10003f3b
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xb4], 0xb6d49b4b
jmp 0x10003f3b
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb4], 0x98ff4226
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0x67e95c8e
sub edx, 1
sub edx, 0x67e95c8e
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, 0xf110f60b
mov ecx, 0x1cedd868
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
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, 0xfd7e219a
mov ecx, 0x6a678d23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xc902c3d6
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov ecx, dword [0x1006dea8]
mov eax, dword [0x1006dea4]
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, 0x26ad2c07
mov ecx, 0x3f8dece
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x1d901072
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
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 - 0xb4], 0xce3bb1c9
jmp 0x10003f3b
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xb4], 0x37bc70c4
jmp 0x10003f3b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [0x1006dea8]
mov ecx, dword [0x1006dea4]
mov edx, eax
add edx, 0xc9b37a06
sub edx, 1
sub edx, 0xc9b37a06
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, 0x1b7b5b87
mov ecx, 0x8c22bed8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xd31578b8
jmp 0x10003f3b
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xb4], 0xbb30045a
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0xd9d69f1e
jmp 0x10003f3b
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
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 - 0x98]
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 - 0x94]
mov dword [eax], ecx
mov dword [ebp - 0xb4], 0x4b9de712
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x312d9537
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x1139bdcd
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x78af6e2e
jmp 0x10003f3b
mov dword [ebp - 0xb4], 0x63e50eb0
jmp 0x10003f3b
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xb4], 0x1477ee1d
jmp 0x10003f3b
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov ax, word [ebp - 0x18]
mov dword [ebp - 0xb4], 0x15fb5eb
jmp 0x10003f3b
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xb4], 0xd82b1f67
jmp 0x10003f3b
jmp 0x100013a0