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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10066a04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa8], 0xa70feac6
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x807995c2
je 0x10003e5b
jmp 0x10001644
mov eax, dword [ebp - 0xb0]
sub eax, 0x8126d8a7
je 0x1000368f
jmp 0x1000165a
mov eax, dword [ebp - 0xb0]
sub eax, 0x83061903
je 0x10002f3b
jmp 0x10001670
mov eax, dword [ebp - 0xb0]
sub eax, 0x83883b28
je 0x10004fd7
jmp 0x10001686
mov eax, dword [ebp - 0xb0]
sub eax, 0x84f39659
je 0x10004481
jmp 0x1000169c
mov eax, dword [ebp - 0xb0]
sub eax, 0x85adbdff
je 0x1000387a
jmp 0x100016b2
mov eax, dword [ebp - 0xb0]
sub eax, 0x85f8a489
je 0x1000383b
jmp 0x100016c8
mov eax, dword [ebp - 0xb0]
sub eax, 0x874583eb
je 0x10004fc1
jmp 0x100016de
mov eax, dword [ebp - 0xb0]
sub eax, 0x885125b2
je 0x100028ef
jmp 0x100016f4
mov eax, dword [ebp - 0xb0]
sub eax, 0x8a78c809
je 0x10003d39
jmp 0x1000170a
mov eax, dword [ebp - 0xb0]
sub eax, 0x8d76ee7c
je 0x10002f9a
jmp 0x10001720
mov eax, dword [ebp - 0xb0]
sub eax, 0x8df546a5
je 0x10004c7c
jmp 0x10001736
mov eax, dword [ebp - 0xb0]
sub eax, 0x8f7b94b5
je 0x10003068
jmp 0x1000174c
mov eax, dword [ebp - 0xb0]
sub eax, 0x90565c9b
je 0x10004c91
jmp 0x10001762
mov eax, dword [ebp - 0xb0]
sub eax, 0x92a1d58b
je 0x10002b4c
jmp 0x10001778
mov eax, dword [ebp - 0xb0]
sub eax, 0x93a35318
je 0x100033d8
jmp 0x1000178e
mov eax, dword [ebp - 0xb0]
sub eax, 0x951b0bc1
je 0x100032c1
jmp 0x100017a4
mov eax, dword [ebp - 0xb0]
sub eax, 0x974b7a82
je 0x100034bd
jmp 0x100017ba
mov eax, dword [ebp - 0xb0]
sub eax, 0x98fe94e9
je 0x100047b4
jmp 0x100017d0
mov eax, dword [ebp - 0xb0]
sub eax, 0x9922234a
je 0x100040de
jmp 0x100017e6
mov eax, dword [ebp - 0xb0]
sub eax, 0x9da38226
je 0x10002a76
jmp 0x100017fc
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f0651ca
je 0x1000314c
jmp 0x10001812
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f10a6d0
je 0x10004506
jmp 0x10001828
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f69bff1
je 0x1000493a
jmp 0x1000183e
mov eax, dword [ebp - 0xb0]
sub eax, 0xa082e409
je 0x10003705
jmp 0x10001854
mov eax, dword [ebp - 0xb0]
sub eax, 0xa156eb1c
je 0x1000301f
jmp 0x1000186a
mov eax, dword [ebp - 0xb0]
sub eax, 0xa218325c
je 0x100042f4
jmp 0x10001880
mov eax, dword [ebp - 0xb0]
sub eax, 0xa2b4d254
je 0x100046e0
jmp 0x10001896
mov eax, dword [ebp - 0xb0]
sub eax, 0xa2e4b233
je 0x100039e9
jmp 0x100018ac
mov eax, dword [ebp - 0xb0]
sub eax, 0xa31b5990
je 0x10002aec
jmp 0x100018c2
mov eax, dword [ebp - 0xb0]
sub eax, 0xa3807dcc
je 0x10002fb4
jmp 0x100018d8
mov eax, dword [ebp - 0xb0]
sub eax, 0xa6c66119
je 0x10004c65
jmp 0x100018ee
mov eax, dword [ebp - 0xb0]
sub eax, 0xa70feac6
je 0x10002461
jmp 0x10001904
mov eax, dword [ebp - 0xb0]
sub eax, 0xa7d83244
je 0x10002f4a
jmp 0x1000191a
mov eax, dword [ebp - 0xb0]
sub eax, 0xa8d8ddac
je 0x10004490
jmp 0x10001930
mov eax, dword [ebp - 0xb0]
sub eax, 0xaa8baf6c
je 0x10004e74
jmp 0x10001946
mov eax, dword [ebp - 0xb0]
sub eax, 0xaae1399f
je 0x10004de4
jmp 0x1000195c
mov eax, dword [ebp - 0xb0]
sub eax, 0xb371f097
je 0x10002897
jmp 0x10001972
mov eax, dword [ebp - 0xb0]
sub eax, 0xb495e9e3
je 0x10003bfc
jmp 0x10001988
mov eax, dword [ebp - 0xb0]
sub eax, 0xb49caa41
je 0x10002da2
jmp 0x1000199e
mov eax, dword [ebp - 0xb0]
sub eax, 0xb66807a0
je 0x10003bde
jmp 0x100019b4
mov eax, dword [ebp - 0xb0]
sub eax, 0xb82d1c27
je 0x10002e42
jmp 0x100019ca
mov eax, dword [ebp - 0xb0]
sub eax, 0xbca37599
je 0x1000313d
jmp 0x100019e0
mov eax, dword [ebp - 0xb0]
sub eax, 0xbe74e057
je 0x10003a8d
jmp 0x100019f6
mov eax, dword [ebp - 0xb0]
sub eax, 0xbeb6dcb7
je 0x10003eb1
jmp 0x10001a0c
mov eax, dword [ebp - 0xb0]
sub eax, 0xc18299af
je 0x10003c72
jmp 0x10001a22
mov eax, dword [ebp - 0xb0]
sub eax, 0xc32a1951
je 0x10004d53
jmp 0x10001a38
mov eax, dword [ebp - 0xb0]
sub eax, 0xc34144a4
je 0x10004bdd
jmp 0x10001a4e
mov eax, dword [ebp - 0xb0]
sub eax, 0xc410d708
je 0x100029a6
jmp 0x10001a64
mov eax, dword [ebp - 0xb0]
sub eax, 0xc41c9f96
je 0x10003612
jmp 0x10001a7a
mov eax, dword [ebp - 0xb0]
sub eax, 0xc52fefdb
je 0x10002a00
jmp 0x10001a90
mov eax, dword [ebp - 0xb0]
sub eax, 0xc58e0b75
je 0x100033e7
jmp 0x10001aa6
mov eax, dword [ebp - 0xb0]
sub eax, 0xc654d644
je 0x1000324b
jmp 0x10001abc
mov eax, dword [ebp - 0xb0]
sub eax, 0xc76085a1
je 0x10003438
jmp 0x10001ad2
mov eax, dword [ebp - 0xb0]
sub eax, 0xc811d748
je 0x10003998
jmp 0x10001ae8
mov eax, dword [ebp - 0xb0]
sub eax, 0xc9adec42
je 0x10004a54
jmp 0x10001afe
mov eax, dword [ebp - 0xb0]
sub eax, 0xcb5c4f62
je 0x100050dd
jmp 0x10001b14
mov eax, dword [ebp - 0xb0]
sub eax, 0xcb8c14ad
je 0x1000382c
jmp 0x10001b2a
mov eax, dword [ebp - 0xb0]
sub eax, 0xcc95e6fb
je 0x10002fce
jmp 0x10001b40
mov eax, dword [ebp - 0xb0]
sub eax, 0xce8727eb
je 0x10005065
jmp 0x10001b56
mov eax, dword [ebp - 0xb0]
sub eax, 0xcf74b2a5
je 0x10003557
jmp 0x10001b6c
mov eax, dword [ebp - 0xb0]
sub eax, 0xd0a65d1b
je 0x10003fa1
jmp 0x10001b82
mov eax, dword [ebp - 0xb0]
sub eax, 0xd0f2b4e6
je 0x10004ab7
jmp 0x10001b98
mov eax, dword [ebp - 0xb0]
sub eax, 0xd0f5bfd1
je 0x100034ae
jmp 0x10001bae
mov eax, dword [ebp - 0xb0]
sub eax, 0xd1ac9c3c
je 0x100024cf
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0x5ab7bf0
mov ecx, 0xd1ac9c3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
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, 0xe5d5ad8f
mov ecx, 0x2947b7f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0x313b5d9b
mov ecx, 0x8920ca1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x68], eax
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
add edx, 0x8f17fa87
sub edx, 1
sub edx, 0x8f17fa87
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, 0xff090ac6
mov ecx, 0xc52fefdb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x83e8684b
sub edx, 1
add edx, 0x83e8684b
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, 0x313b5d9b
mov ecx, 0x9da38226
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x12bc7429
sub edx, 1
add edx, 0x12bc7429
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, 0xded588a3
mov ecx, 0xa31b5990
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x983220f6
sub edx, 1
add edx, 0x983220f6
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, 0xded588a3
mov ecx, 0x768fc197
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x8afbc97e
sub edx, 1
add edx, 0x8afbc97e
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, 0x3c76506b
mov ecx, 0xe10c75eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa8], 0x29a80114
jmp 0x100050e7
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
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 - 0x94]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0xf2e20892
sub edx, 1
add edx, 0xf2e20892
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, 0xaa8baf6c
mov ecx, 0xc2a1f75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x77120846
jmp 0x100050e7
mov eax, dword [ebp - 0x90]
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 - 0x58], eax
mov dword [ebp - 0xa8], 0x8d76ee7c
jmp 0x100050e7
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0xa3807dcc
jmp 0x100050e7
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa8], 0xcc95e6fb
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x90e24e00
sub edx, 1
add edx, 0x90e24e00
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, 0x3a5925b1
mov ecx, 0xa156eb1c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
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, 0x3a5925b1
mov ecx, 0x8f7b94b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x64c2eaa
sub edx, 1
add edx, 0x64c2eaa
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, 0xc9adec42
mov ecx, 0x585b598d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x9f0651ca
jmp 0x100050e7
mov dl, byte [ebp - 0x4d]
mov eax, 0xe23adfab
mov ecx, 0x974b7a82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x811e78ec
sub edx, 1
add edx, 0x811e78ec
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, 0x7c1d5b56
mov ecx, 0x951b0bc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x874cb9b5
sub edx, 1
add edx, 0x874cb9b5
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, 0x75fc392
mov ecx, 0x11367217
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0xc58e0b75
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
add edx, 0x25e7435
sub edx, 1
sub edx, 0x25e7435
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, 0xdfb833b0
mov ecx, 0xc76085a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
add edx, 0x158e6842
sub edx, 1
sub edx, 0x158e6842
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, 0xdfb833b0
mov ecx, 0xd0f5bfd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x77120846
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
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, 0x68802616
mov ecx, 0xec7f4a8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x266eaf41
sub edx, 1
add edx, 0x266eaf41
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, 0xd846470c
mov ecx, 0xc41c9f96
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0x68802616
mov ecx, 0x545c92c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0xbb89af90
sub edx, 1
add edx, 0xbb89af90
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, 0xa6c66119
mov ecx, 0xa082e409
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
add edx, 0x91f72640
sub edx, 1
sub edx, 0x91f72640
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, 0xa6c66119
mov ecx, 0x54165f1f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x85f8a489
jmp 0x100050e7
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], 0x76c3036b
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x424bb1dc
sub edx, 1
add edx, 0x424bb1dc
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, 0x874583eb
mov ecx, 0xe7d8b696
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
add edx, 0x4dadca24
sub edx, 1
sub edx, 0x4dadca24
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, 0x8df546a5
mov ecx, 0xa2e4b233
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x80]
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 - 0x3c], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0x8df546a5
mov ecx, 0x25894ca2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub ecx, 0x806f27f8
add ecx, eax
add ecx, 0x806f27f8
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xc807e5a8
add ecx, eax
sub ecx, 0xc807e5a8
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0xa8], 0x690fb428
jmp 0x100050e7
mov dl, byte [ebp - 0x31]
mov eax, 0xb495e9e3
mov ecx, 0x5c540aed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
add edx, 0x835c189
sub edx, 1
sub edx, 0x835c189
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, 0x4987a85
mov ecx, 0xc18299af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
add edx, 0x9cbcc437
sub edx, 1
sub edx, 0x9cbcc437
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, 0x4987a85
mov ecx, 0x31c4748b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x3121ae89
add edx, eax
sub edx, 0x3121ae89
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xcea672ef
add ecx, eax
add ecx, 0xcea672ef
mov eax, dword [ebp - 0x78]
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.10011170
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x97bc85ee
sub edx, 1
add edx, 0x97bc85ee
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, 0x90565c9b
mov ecx, 0x807995c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x44919fb6
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0xa4d2f74a
sub edx, 1
add edx, 0xa4d2f74a
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, 0xc32a1951
mov ecx, 0xe765a080
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
sub edx, 0x1dc23882
sub edx, 1
add edx, 0x1dc23882
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, 0xffea3d7d
mov ecx, 0x2773fe0a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x7c]
mov ax, word [eax]
sub ax, 0x73a0
add ax, 1
add ax, 0x73a0
mov word [ebp - 0x1e], ax
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x1dbf5f28
sub edx, 1
add edx, 0x1dbf5f28
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, 0xf7ed2c0b
mov ecx, 0xd6879994
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [0x10067ca8]
mov ecx, dword [0x10067ca4]
mov edx, eax
add edx, 0x1778a9cd
sub edx, 1
sub edx, 0x1778a9cd
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, 0x2258c3fb
mov ecx, 0x2aaccc50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x85f8a489
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
add edx, 0x8961645c
sub edx, 1
sub edx, 0x8961645c
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, 0xf78ffff
mov ecx, 0x9f10a6d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0xf78ffff
mov ecx, 0x25fb68c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x1f67da3d
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
sub edx, 0x2c83bcb9
sub edx, 1
add edx, 0x2c83bcb9
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, 0xdd48cb8b
mov ecx, 0xf85749ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
mov edx, ecx
add edx, 0xc74de31c
sub edx, 1
sub edx, 0xc74de31c
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, 0x4cc925da
mov ecx, 0x50eddf73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xa8], 0x585b598d
jmp 0x100050e7
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10067ca8]
mov eax, dword [0x10067ca4]
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, 0x45b8370
mov ecx, 0x726ad8ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x100050e7
mov dword [ebp - 0xa8], 0xc76085a1
jmp 0x100050e7
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov dword [ebp - 0xa8], 0xa082e409
jmp 0x100050e7
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], 0xa2e4b233
jmp 0x100050e7
mov eax, dword [ebp - 0x74]
mov dword [eax], 0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov byte [eax], cl
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x833630bb
add edx, eax
sub edx, 0x833630bb
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xa447bccb
add ecx, eax
add ecx, 0xa447bccb
mov eax, dword [ebp - 0x78]
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.10011170
add esp, 0xc
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0x8a78c809
jmp 0x100050e7
mov cl, byte [ebp - 0x1f]
and cl, 1
mov eax, dword [ebp - 0x70]
mov byte [eax], cl
mov dword [ebp - 0xa8], 0xe765a080
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x40090003
jmp 0x100050e7
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
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 - 0x94]
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 - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], 0xb82d1c27
jmp 0x100050e7
mov ax, word [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0xe7d8b696
jmp 0x100050e7
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001b190
call fcn.10011fa0
add esp, 8
mov dword [ebp - 0xa8], 0x4e39853b
jmp 0x100050e7
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], 0x1bf4908a
jmp 0x100050e7
mov dword [ebp - 0xa8], 0x71d28ac5
jmp 0x10001628