Function at 0x10001520
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 [0x1006b400]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0xdccf93b9
sub edx, 1
sub edx, 0xdccf93b9
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], 0xe050aa80
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x80e4933c
je 0x10003f93
jmp 0x100015a3
mov eax, dword [ebp - 0xb0]
sub eax, 0x84ff5bee
je 0x100040e8
jmp 0x100015b9
mov eax, dword [ebp - 0xb0]
sub eax, 0x87111fca
je 0x10003da3
jmp 0x100015cf
mov eax, dword [ebp - 0xb0]
sub eax, 0x8913dffe
je 0x10002d63
jmp 0x100015e5
mov eax, dword [ebp - 0xb0]
sub eax, 0x93a6f12e
je 0x100033e0
jmp 0x100015fb
mov eax, dword [ebp - 0xb0]
sub eax, 0x93d3f5d3
je 0x10003cb6
jmp 0x10001611
mov eax, dword [ebp - 0xb0]
sub eax, 0x94267bc0
je 0x1000412f
jmp 0x10001627
mov eax, dword [ebp - 0xb0]
sub eax, 0x9607c0a2
je 0x10002a4f
jmp 0x1000163d
mov eax, dword [ebp - 0xb0]
sub eax, 0x977d6dcb
je 0x10002a6d
jmp 0x10001653
mov eax, dword [ebp - 0xb0]
sub eax, 0x981119ff
je 0x10003ca1
jmp 0x10001669
mov eax, dword [ebp - 0xb0]
sub eax, 0x9b76d6aa
je 0x100038c2
jmp 0x1000167f
mov eax, dword [ebp - 0xb0]
sub eax, 0x9c25bf94
je 0x10003ed4
jmp 0x10001695
mov eax, dword [ebp - 0xb0]
sub eax, 0x9d297f01
je 0x1000327d
jmp 0x100016ab
mov eax, dword [ebp - 0xb0]
sub eax, 0x9d72feab
je 0x1000397d
jmp 0x100016c1
mov eax, dword [ebp - 0xb0]
sub eax, 0x9d90fd68
je 0x10003d1d
jmp 0x100016d7
mov eax, dword [ebp - 0xb0]
sub eax, 0x9e15f04a
je 0x10003716
jmp 0x100016ed
mov eax, dword [ebp - 0xb0]
sub eax, 0x9f5c6f14
je 0x10003d7e
jmp 0x10001703
mov eax, dword [ebp - 0xb0]
sub eax, 0xa9d56fb0
je 0x10002654
jmp 0x10001719
mov eax, dword [ebp - 0xb0]
sub eax, 0xaaafdb25
je 0x10002687
jmp 0x1000172f
mov eax, dword [ebp - 0xb0]
sub eax, 0xad36cc66
je 0x10003ee3
jmp 0x10001745
mov eax, dword [ebp - 0xb0]
sub eax, 0xaf8da6f7
je 0x10002b63
jmp 0x1000175b
mov eax, dword [ebp - 0xb0]
sub eax, 0xb173f94b
je 0x10003684
jmp 0x10001771
mov eax, dword [ebp - 0xb0]
sub eax, 0xb369f51f
je 0x10004013
jmp 0x10001787
mov eax, dword [ebp - 0xb0]
sub eax, 0xb44bc10a
je 0x10003141
jmp 0x1000179d
mov eax, dword [ebp - 0xb0]
sub eax, 0xb4cedbed
je 0x10003c66
jmp 0x100017b3
mov eax, dword [ebp - 0xb0]
sub eax, 0xb634b947
je 0x100022d8
jmp 0x100017c9
mov eax, dword [ebp - 0xb0]
sub eax, 0xb81d65e2
je 0x100034b5
jmp 0x100017df
mov eax, dword [ebp - 0xb0]
sub eax, 0xbca50afb
je 0x100040f7
jmp 0x100017f5
mov eax, dword [ebp - 0xb0]
sub eax, 0xbef540e4
je 0x10002553
jmp 0x1000180b
mov eax, dword [ebp - 0xb0]
sub eax, 0xbf7f8421
je 0x10003c42
jmp 0x10001821
mov eax, dword [ebp - 0xb0]
sub eax, 0xbf8a41ff
je 0x10002fd9
jmp 0x10001837
mov eax, dword [ebp - 0xb0]
sub eax, 0xbfa83cac
je 0x100020ab
jmp 0x1000184d
mov eax, dword [ebp - 0xb0]
sub eax, 0xc0390efc
je 0x10003cd4
jmp 0x10001863
mov eax, dword [ebp - 0xb0]
sub eax, 0xc29501da
je 0x1000321d
jmp 0x10001879
mov eax, dword [ebp - 0xb0]
sub eax, 0xc56c3bbe
je 0x10002562
jmp 0x1000188f
mov eax, dword [ebp - 0xb0]
sub eax, 0xc6b7b992
je 0x10004001
jmp 0x100018a5
mov eax, dword [ebp - 0xb0]
sub eax, 0xcb7c7fef
je 0x10004116
jmp 0x100018bb
mov eax, dword [ebp - 0xb0]
sub eax, 0xcc20da22
je 0x10002497
jmp 0x100018d1
mov eax, dword [ebp - 0xb0]
sub eax, 0xcc84924b
je 0x10002b54
jmp 0x100018e7
mov eax, dword [ebp - 0xb0]
sub eax, 0xd2531d58
je 0x10002c0c
jmp 0x100018fd
mov eax, dword [ebp - 0xb0]
sub eax, 0xd705dce5
je 0x1000221b
jmp 0x10001913
mov eax, dword [ebp - 0xb0]
sub eax, 0xd7459215
je 0x10003db5
jmp 0x10001929
mov eax, dword [ebp - 0xb0]
sub eax, 0xd8521332
je 0x10003d8d
jmp 0x1000193f
mov eax, dword [ebp - 0xb0]
sub eax, 0xdbaf9cb0
je 0x100021ca
jmp 0x10001955
mov eax, dword [ebp - 0xb0]
sub eax, 0xde479ad1
je 0x10002a40
jmp 0x1000196b
mov eax, dword [ebp - 0xb0]
sub eax, 0xe0337f47
je 0x1000413e
jmp 0x10001981
mov eax, dword [ebp - 0xb0]
sub eax, 0xe050aa80
je 0x1000207c
jmp 0x10001997
mov eax, dword [ebp - 0xb0]
sub eax, 0xe11350b6
je 0x10003c51
jmp 0x100019ad
mov eax, dword [ebp - 0xb0]
sub eax, 0xe63a76cd
je 0x10002dec
jmp 0x100019c3
mov eax, dword [ebp - 0xb0]
sub eax, 0xe7468d8e
je 0x100029bf
jmp 0x100019d9
mov eax, dword [ebp - 0xb0]
sub eax, 0xeb131c1b
je 0x10003e9c
jmp 0x100019ef
mov eax, dword [ebp - 0xb0]
sub eax, 0xeed2b39a
je 0x10003199
jmp 0x10001a05
mov eax, dword [ebp - 0xb0]
sub eax, 0xf04e4ebf
je 0x100022b1
jmp 0x10001a1b
mov eax, dword [ebp - 0xb0]
sub eax, 0xf3becf24
je 0x10002825
jmp 0x10001a31
mov eax, dword [ebp - 0xb0]
sub eax, 0xf3d8ac4c
je 0x100027fc
jmp 0x10001a47
mov eax, dword [ebp - 0xb0]
sub eax, 0xf40ed43c
je 0x10003ac6
jmp 0x10001a5d
mov eax, dword [ebp - 0xb0]
sub eax, 0xf489f67b
je 0x100030b6
jmp 0x10001a73
mov eax, dword [ebp - 0xb0]
sub eax, 0xf56d9c27
je 0x10003871
jmp 0x10001a89
mov eax, dword [ebp - 0xb0]
sub eax, 0xf67e9e99
je 0x10002c98
jmp 0x10001a9f
mov eax, dword [ebp - 0xb0]
sub eax, 0xfa085b7d
je 0x10002d72
jmp 0x10001ab5
mov eax, dword [ebp - 0xb0]
sub eax, 0xfb73997f
je 0x10003b0f
jmp 0x10001acb
mov eax, dword [ebp - 0xb0]
sub eax, 0xfdc7a97d
je 0x10003f7e
jmp 0x10001ae1
mov eax, dword [ebp - 0xb0]
sub eax, 0xfebde582
je 0x1000280b
jmp 0x10001af7
mov eax, dword [ebp - 0xb0]
sub eax, 0x1582cb5
je 0x1000238d
jmp 0x10001b0d
mov eax, dword [ebp - 0xb0]
sub eax, 0x5c6c12e
je 0x100020fc
mov al, byte [ebp - 0xa2]
mov cl, byte [ebp - 0xa1]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbf7f8421
mov ecx, 0xbfa83cac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0x3cdf9a71
sub edx, 1
sub edx, 0x3cdf9a71
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, 0x9c25bf94
mov ecx, 0x5c6c12e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0x5bd8b94c
sub edx, 1
sub edx, 0x5bd8b94c
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, 0xad36cc66
mov ecx, 0xd705dce5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x8c], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0x5d2aaf71
sub edx, 1
sub edx, 0x5d2aaf71
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, 0xad36cc66
mov ecx, 0xf04e4ebf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x152fe0e6
jmp 0x10004171
mov ecx, dword [ebp - 0xac]
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
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
push eax
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
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.10010b10
add esp, 0xc
mov eax, dword [ebp - 0xa0]
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 - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x61], al
mov dword [ebp - 0xa8], 0x1582cb5
jmp 0x10004171
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0x1540ffe5
sub edx, 1
sub edx, 0x1540ffe5
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, 0x7d8cf077
mov ecx, 0x51a548f9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x74273337
jmp 0x10004171
mov dword [ebp - 0xa8], 0xc56c3bbe
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
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, 0xb4cedbed
mov ecx, 0x58c7411b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa8], 0xaaafdb25
jmp 0x10004171
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
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 dword [ebp - 0xa8], 0x60cc68b7
jmp 0x10004171
mov dword [ebp - 0xa8], 0x74273337
jmp 0x10004171
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xa8], 0xf3becf24
jmp 0x10004171
mov eax, dword [ebp - 0x50]
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 - 0x4c], eax
mov dword [ebp - 0xa8], 0x2d1bf3c4
jmp 0x10004171
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0x20a38afd
sub edx, 1
sub edx, 0x20a38afd
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, 0xfdc7a97d
mov ecx, 0xde479ad1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x9607c0a2
jmp 0x10004171
mov edx, dword [ebp - 0x48]
mov eax, 0x977d6dcb
mov ecx, 0x75738c24
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
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, 0x981119ff
mov ecx, 0x2517f9d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0xaf8da6f7
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
sub edx, 0xa25f364f
sub edx, 1
add edx, 0xa25f364f
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, 0x93d3f5d3
mov ecx, 0x5e7722da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x6ec862b
jmp 0x10004171
mov eax, dword [ebp - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0x5461b2e6
sub edx, 1
sub edx, 0x5461b2e6
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, 0x80e4933c
mov ecx, 0x8913dffe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0xfa085b7d
jmp 0x10004171
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x40]
add eax, 0xc0a822dd
add eax, ecx
sub eax, 0xc0a822dd
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa8], 0x44d7668f
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
sub edx, 0xff22be0a
sub edx, 1
add edx, 0xff22be0a
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, 0xc0390efc
mov ecx, 0x7e3b11de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
add edx, 0x160c025f
sub edx, 1
sub edx, 0x160c025f
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, 0x4d7926c4
mov ecx, 0x2f36a43a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub eax, 0xbfe0e3c6
add eax, 0x18
add eax, 0xbfe0e3c6
mov dword [ebp - 0x30], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
sub edx, 0xf6a48c0a
sub edx, 1
add edx, 0xf6a48c0a
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, 0x87111fca
mov ecx, 0xb44bc10a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x586d14c3
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 4
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
sub edx, 0x4f6b3919
sub edx, 1
add edx, 0x4f6b3919
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, 0xc6b7b992
mov ecx, 0xc29501da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x7977c7b7
jmp 0x10004171
mov eax, dword [ebp - 0x2c]
movzx edx, word [eax]
mov ecx, dword [ebp - 0x30]
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]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x80621715
add ecx, eax
add ecx, 0x80621715
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001c1a0
call fcn.10012e80
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
mov edx, ecx
sub edx, 0x40719dbe
sub edx, 1
add edx, 0x40719dbe
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, 0xb369f51f
mov ecx, 0x359c354e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xa4315838
add edx, eax
sub edx, 0xa4315838
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov byte [eax], cl
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov ecx, dword [0x1006c748]
mov eax, dword [0x1006c744]
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, 0x7f3e9e1f
mov ecx, 0xb81d65e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x5f19726a
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
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, 0xd7459215
mov ecx, 0x76e3de96
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x45c28a41
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0x7a693339
sub edx, 1
sub edx, 0x7a693339
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, 0xcb7c7fef
mov ecx, 0x9b76d6aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0xfe11887e
sub edx, 1
sub edx, 0xfe11887e
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, 0xcb7c7fef
mov ecx, 0x46dfd9d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0x3ca8c295
sub edx, 1
sub edx, 0x3ca8c295
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, 0xeb131c1b
mov ecx, 0x25ca055e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
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, 0x94267bc0
mov ecx, 0xfb73997f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0x63c4183d
jmp 0x10004171
mov dword [ebp - 0xa8], 0xbfa83cac
jmp 0x10004171
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], 0x7082f5ef
jmp 0x10004171
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x60]
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 dword [ebp - 0xa8], 0x58c7411b
jmp 0x10004171
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa8], 0x2517f9d6
jmp 0x10004171
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x5e7722da
jmp 0x10004171
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
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, 0xe0337f47
mov ecx, 0x9d90fd68
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov eax, dword [0x1006c748]
mov ecx, dword [0x1006c744]
mov edx, eax
add edx, 0x6e020062
sub edx, 1
sub edx, 0x6e020062
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, 0xe0337f47
mov ecx, 0x9f5c6f14
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x10004171
mov dword [ebp - 0xa8], 0xe63a76cd
jmp 0x10004171
mov ax, word [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa8], 0x2a0b018b
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xf489f67b
jmp 0x10004171
mov dword [ebp - 0xa8], 0x76e3de96
jmp 0x10004171
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x25ca055e
jmp 0x10004171
mov dword [ebp - 0xa8], 0x5c6c12e
jmp 0x10004171
mov dword [ebp - 0xa8], 0xd705dce5
jmp 0x10004171
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xa8], 0xe7468d8e
jmp 0x10004171
mov eax, dword [ebp - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], 0xf67e9e99
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xeed2b39a
jmp 0x10004171
mov eax, dword [ebp - 0x2c]
movzx eax, word [eax]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, 0x586786be
add ecx, eax
sub ecx, 0x586786be
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x1001c1a0
call fcn.10012e80
add esp, 8
mov dword [ebp - 0xa8], 0x9d297f01
jmp 0x10004171
mov dword [ebp - 0xa8], 0x1eb7eccd
jmp 0x10004171
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov dword [ebp - 0xa8], 0x459ae86f
jmp 0x10004171
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0xa8], 0x9b76d6aa
jmp 0x10004171
mov dword [ebp - 0xa8], 0xf40ed43c
jmp 0x10004171
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa8], 0x9d90fd68
jmp 0x10004171
jmp 0x10001587