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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [0x10070c04]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
add edx, 0x1def8d90
sub edx, 1
sub edx, 0x1def8d90
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xa6], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa5], al
mov dword [ebp - 0xac], 0xdcc7b978
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
sub eax, 0x822585b3
je 0x1000448e
jmp 0x10001a63
mov eax, dword [ebp - 0xb4]
sub eax, 0x825fc0a0
je 0x10003851
jmp 0x10001a79
mov eax, dword [ebp - 0xb4]
sub eax, 0x8982e923
je 0x10003550
jmp 0x10001a8f
mov eax, dword [ebp - 0xb4]
sub eax, 0x89e547b7
je 0x1000309d
jmp 0x10001aa5
mov eax, dword [ebp - 0xb4]
sub eax, 0x9386aa2d
je 0x100045b7
jmp 0x10001abb
mov eax, dword [ebp - 0xb4]
sub eax, 0x938896d0
je 0x100042b6
jmp 0x10001ad1
mov eax, dword [ebp - 0xb4]
sub eax, 0x963c9f4b
je 0x10004044
jmp 0x10001ae7
mov eax, dword [ebp - 0xb4]
sub eax, 0x96acac48
je 0x10002750
jmp 0x10001afd
mov eax, dword [ebp - 0xb4]
sub eax, 0x96c6e032
je 0x100047da
jmp 0x10001b13
mov eax, dword [ebp - 0xb4]
sub eax, 0x97034ebc
je 0x10002f08
jmp 0x10001b29
mov eax, dword [ebp - 0xb4]
sub eax, 0x981cbae9
je 0x10002af7
jmp 0x10001b3f
mov eax, dword [ebp - 0xb4]
sub eax, 0x99ab730f
je 0x100044a3
jmp 0x10001b55
mov eax, dword [ebp - 0xb4]
sub eax, 0x9a7d9dad
je 0x10002e6c
jmp 0x10001b6b
mov eax, dword [ebp - 0xb4]
sub eax, 0x9b9694c1
je 0x10003fd3
jmp 0x10001b81
mov eax, dword [ebp - 0xb4]
sub eax, 0x9defe0b8
je 0x10003a93
jmp 0x10001b97
mov eax, dword [ebp - 0xb4]
sub eax, 0xa0ccefc5
je 0x10004651
jmp 0x10001bad
mov eax, dword [ebp - 0xb4]
sub eax, 0xa15c6ec4
je 0x10003e55
jmp 0x10001bc3
mov eax, dword [ebp - 0xb4]
sub eax, 0xa48075d2
je 0x1000284b
jmp 0x10001bd9
mov eax, dword [ebp - 0xb4]
sub eax, 0xa59b6c68
je 0x10002e23
jmp 0x10001bef
mov eax, dword [ebp - 0xb4]
sub eax, 0xa89b39b7
je 0x10002d1e
jmp 0x10001c05
mov eax, dword [ebp - 0xb4]
sub eax, 0xa99571ab
je 0x100048a0
jmp 0x10001c1b
mov eax, dword [ebp - 0xb4]
sub eax, 0xabcfcc9c
je 0x10003085
jmp 0x10001c31
mov eax, dword [ebp - 0xb4]
sub eax, 0xac7c2fe9
je 0x10004843
jmp 0x10001c47
mov eax, dword [ebp - 0xb4]
sub eax, 0xacfe25af
je 0x10002eb5
jmp 0x10001c5d
mov eax, dword [ebp - 0xb4]
sub eax, 0xadc301e5
je 0x10002d67
jmp 0x10001c73
mov eax, dword [ebp - 0xb4]
sub eax, 0xae06dd33
je 0x10004789
jmp 0x10001c89
mov eax, dword [ebp - 0xb4]
sub eax, 0xb0427de3
je 0x100048c3
jmp 0x10001c9f
mov eax, dword [ebp - 0xb4]
sub eax, 0xb32ca55c
je 0x10003405
jmp 0x10001cb5
mov eax, dword [ebp - 0xb4]
sub eax, 0xb48c7b93
je 0x10003e46
jmp 0x10001ccb
mov eax, dword [ebp - 0xb4]
sub eax, 0xb69d7a35
je 0x10002ec4
jmp 0x10001ce1
mov eax, dword [ebp - 0xb4]
sub eax, 0xb6b33e7a
je 0x10002d76
jmp 0x10001cf7
mov eax, dword [ebp - 0xb4]
sub eax, 0xb74cda6c
je 0x100041d9
jmp 0x10001d0d
mov eax, dword [ebp - 0xb4]
sub eax, 0xbb893072
je 0x10003ca9
jmp 0x10001d23
mov eax, dword [ebp - 0xb4]
sub eax, 0xbbbc5d85
je 0x10003bf2
jmp 0x10001d39
mov eax, dword [ebp - 0xb4]
sub eax, 0xbc15e647
je 0x100042a7
jmp 0x10001d4f
mov eax, dword [ebp - 0xb4]
sub eax, 0xbcb568d0
je 0x10004798
jmp 0x10001d65
mov eax, dword [ebp - 0xb4]
sub eax, 0xbda25c8f
je 0x10003655
jmp 0x10001d7b
mov eax, dword [ebp - 0xb4]
sub eax, 0xbecbb5a2
je 0x10004900
jmp 0x10001d91
mov eax, dword [ebp - 0xb4]
sub eax, 0xc0463845
je 0x1000424f
jmp 0x10001da7
mov eax, dword [ebp - 0xb4]
sub eax, 0xc2f61651
je 0x10003b09
jmp 0x10001dbd
mov eax, dword [ebp - 0xb4]
sub eax, 0xc448ae86
je 0x1000297f
jmp 0x10001dd3
mov eax, dword [ebp - 0xb4]
sub eax, 0xc49e0af9
je 0x1000438c
jmp 0x10001de9
mov eax, dword [ebp - 0xb4]
sub eax, 0xc49ec645
je 0x10004660
jmp 0x10001dff
mov eax, dword [ebp - 0xb4]
sub eax, 0xc4ecd035
je 0x100032ff
jmp 0x10001e15
mov eax, dword [ebp - 0xb4]
sub eax, 0xcc6d1ac5
je 0x10004608
jmp 0x10001e2b
mov eax, dword [ebp - 0xb4]
sub eax, 0xccebe065
je 0x10004509
jmp 0x10001e41
mov eax, dword [ebp - 0xb4]
sub eax, 0xceb44b26
je 0x10002f59
jmp 0x10001e57
mov eax, dword [ebp - 0xb4]
sub eax, 0xcfb6303a
je 0x100027fa
jmp 0x10001e6d
mov eax, dword [ebp - 0xb4]
sub eax, 0xd1660cf9
je 0x10003eaa
jmp 0x10001e83
mov eax, dword [ebp - 0xb4]
sub eax, 0xd1b55f18
je 0x10003351
jmp 0x10001e99
mov eax, dword [ebp - 0xb4]
sub eax, 0xd25bfc03
je 0x1000468d
jmp 0x10001eaf
mov eax, dword [ebp - 0xb4]
sub eax, 0xd45797b5
je 0x10003cfa
jmp 0x10001ec5
mov eax, dword [ebp - 0xb4]
sub eax, 0xd6bdd274
je 0x100041ca
jmp 0x10001edb
mov eax, dword [ebp - 0xb4]
sub eax, 0xda5f6d51
je 0x100037db
jmp 0x10001ef1
mov eax, dword [ebp - 0xb4]
sub eax, 0xdcc7b978
je 0x10002686
jmp 0x10001f07
mov eax, dword [ebp - 0xb4]
sub eax, 0xdde1ebd2
je 0x1000339a
jmp 0x10001f1d
mov eax, dword [ebp - 0xb4]
sub eax, 0xdfae9209
je 0x10004750
jmp 0x10001f33
mov eax, dword [ebp - 0xb4]
sub eax, 0xe1e63265
je 0x10004723
jmp 0x10001f49
mov eax, dword [ebp - 0xb4]
sub eax, 0xe6450436
je 0x10003ffb
jmp 0x10001f5f
mov eax, dword [ebp - 0xb4]
sub eax, 0xe7b55562
je 0x100035fd
jmp 0x10001f75
mov eax, dword [ebp - 0xb4]
sub eax, 0xe8953051
je 0x10002c55
jmp 0x10001f8b
mov eax, dword [ebp - 0xb4]
sub eax, 0xe981c5d4
je 0x100026da
jmp 0x10001fa1
mov eax, dword [ebp - 0xb4]
sub eax, 0xed601f46
je 0x10003498
jmp 0x10001fb7
mov eax, dword [ebp - 0xb4]
sub eax, 0xeda12eed
je 0x100047c5
jmp 0x10001fcd
mov eax, dword [ebp - 0xb4]
sub eax, 0xeef3f0ac
je 0x100027a2
mov bl, byte [ebp - 0xa6]
mov dh, byte [ebp - 0xa5]
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, 0x248423cf
mov ecx, 0xe981c5d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
add edx, 0x9b4d621e
sub edx, 1
sub edx, 0x9b4d621e
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, 0x2e9d4cdf
mov ecx, 0x96acac48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
push eax
mov eax, esp
mov dword [ebp - 0xa4], eax
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x2e9d4cdf
mov ecx, 0xeef3f0ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0x47700941
sub edx, 1
add edx, 0x47700941
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, 0x15520e87
mov ecx, 0xa48075d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x63799185
mov ecx, 0x5e698f5a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0xa1af18e5
sub edx, 1
add edx, 0xa1af18e5
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, 0xd25bfc03
mov ecx, 0x56fe358e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0x3d3eccf3
jmp 0x1000498c
mov eax, dword [ebp - 0x98]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x61], al
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x591b3435
mov ecx, 0x724e3b50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xe1e63265
mov ecx, 0xadc301e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0x14cd725c
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
add edx, 0x4343d5ae
sub edx, 1
sub edx, 0x4343d5ae
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, 0xffb2e0b5
mov ecx, 0xf3907807
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xfddf37ad
mov ecx, 0x9a7d9dad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xfddf37ad
mov ecx, 0xacfe25af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0xb69d7a35
jmp 0x1000498c
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
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 eax, dword [ebp - 0x9c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xac], 0x97034ebc
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
add edx, 0xcf1f108
sub edx, 1
sub edx, 0xcf1f108
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, 0x50688c48
mov ecx, 0xceb44b26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x50688c48
mov ecx, 0x5d90d093
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xac], 0x89e547b7
jmp 0x1000498c
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, 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 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 ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov esi, 0xffffffff
mov eax, 0x7c496375
mov ecx, 0x12d6eeeb
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
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 ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov dword [ebp - 0xac], 0xd1b55f18
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x694088f2
mov ecx, 0xdde1ebd2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0x48e0777
sub edx, 1
add edx, 0x48e0777
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, 0x694088f2
mov ecx, 0x77213803
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x50]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov dword [ebp - 0xac], 0xf1dd6723
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xae06dd33
mov ecx, 0x1fbfed32
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0x3f321939
sub edx, 1
add edx, 0x3f321939
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, 0x822585b3
mov ecx, 0x70295493
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xbcb568d0
mov ecx, 0x42e97603
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0x105fcd17
jmp 0x1000498c
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
sub edx, 0x18ca025d
sub edx, 1
add edx, 0x18ca025d
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, 0x99ab730f
mov ecx, 0x825fc0a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0x30509943
sub edx, 1
add edx, 0x30509943
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, 0x99ab730f
mov ecx, 0xf08ca87b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
sub edx, 0x52f580ec
sub edx, 1
add edx, 0x52f580ec
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, 0x96c6e032
mov ecx, 0xc2f61651
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
add eax, 0xc7719094
add eax, ecx
sub eax, 0xc7719094
mov ecx, dword [ebp - 0x78]
movzx ecx, word [ecx]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
add edx, 0x1d08511a
sub edx, 1
sub edx, 0x1d08511a
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, 0x96c6e032
mov ecx, 0x3a891386
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
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, 0x2cad852a
mov ecx, 0x7d770164
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
add edx, 0x1e54935a
sub edx, 1
sub edx, 0x1e54935a
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, 0x6baed0c8
mov ecx, 0xd45797b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0xfed80c37
sub edx, 1
add edx, 0xfed80c37
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, 0xac7c2fe9
mov ecx, 0x66a7e7d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0xa15c6ec4
jmp 0x1000498c
mov eax, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x1d]
mov byte [eax], cl
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x604fca07
add eax, ecx
add eax, 0x604fca07
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x45ef6e84
add eax, ecx
add eax, 0x45ef6e84
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xac], 0xd1660cf9
jmp 0x1000498c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10012830
add esp, 0xc
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x94]
mov esi, dword [eax]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xaee62f4c
add esi, eax
sub esi, 0xaee62f4c
mov eax, dword [ebp - 0x70]
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 - 0xac], 0x2ff22bce
jmp 0x1000498c
mov dword [ebp - 0xac], 0x18afb782
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xa99571ab
mov ecx, 0x963c9f4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov ax, word [ebp - 0x14]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x12], ax
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
sub edx, 0xbb857183
sub edx, 1
add edx, 0xbb857183
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, 0xa99571ab
mov ecx, 0x4a1ae650
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0xb74cda6c
jmp 0x1000498c
mov ecx, dword [0x10071ea8]
mov eax, dword [0x10071ea4]
mov edx, ecx
sub edx, 0xfc136b79
sub edx, 1
add edx, 0xfc136b79
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, 0xbecbb5a2
mov ecx, 0xc0463845
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0xbecbb5a2
mov ecx, 0xbc15e647
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0x938896d0
jmp 0x1000498c
mov dword [ebp - 0xac], 0x14cd725c
jmp 0x1000498c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10011aa0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xac], 0x8982e923
jmp 0x1000498c
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0x825fc0a0
jmp 0x1000498c
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
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]
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
add edx, 0x449fd5a4
sub edx, 1
sub edx, 0x449fd5a4
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, 0xf7a7232d
mov ecx, 0x162f3216
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
mov edx, eax
add edx, 0xa8b11693
sub edx, 1
sub edx, 0xa8b11693
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, 0x1db2c9b0
mov ecx, 0xcc6d1ac5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov eax, dword [0x10071ea8]
mov ecx, dword [0x10071ea4]
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, 0x1db2c9b0
mov ecx, 0xa0ccefc5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x1000498c
mov dword [ebp - 0xac], 0xf38b57ea
jmp 0x1000498c
mov dword [ebp - 0xac], 0x26b93470
jmp 0x1000498c
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100126d0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0xac], 0x56fe358e
jmp 0x1000498c
mov dword [ebp - 0xac], 0xa89b39b7
jmp 0x1000498c
mov dword [ebp - 0xac], 0xf3e2797e
jmp 0x1000498c
mov dword [ebp - 0xac], 0xed601f46
jmp 0x1000498c
mov dword [ebp - 0xac], 0xe7b55562
jmp 0x1000498c
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xac], 0x6ae7f51f
jmp 0x1000498c
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xac], 0xc2f61651
jmp 0x1000498c
mov eax, dword [ebp - 0x70]
mov dword [eax], 0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
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]
mov dword [ebp - 0xac], 0x66a7e7d7
jmp 0x1000498c
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
mov dword [ebp - 0xac], 0x963c9f4b
jmp 0x1000498c
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xac], 0x40f4863f
jmp 0x1000498c
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xac], 0xc0463845
jmp 0x1000498c
jmp 0x10001a47