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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x100d0800]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], 0xc078c08
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
sub eax, 0x83bc9e8a
je 0x100023f5
jmp 0x10001225
mov eax, dword [ebp - 0xa0]
sub eax, 0x865aebe5
je 0x1000214b
jmp 0x1000123b
mov eax, dword [ebp - 0xa0]
sub eax, 0x8d1bb2f4
je 0x10001da5
jmp 0x10001251
mov eax, dword [ebp - 0xa0]
sub eax, 0x8d925799
je 0x10002193
jmp 0x10001267
mov eax, dword [ebp - 0xa0]
sub eax, 0x8ead1df6
je 0x100021aa
jmp 0x1000127d
mov eax, dword [ebp - 0xa0]
sub eax, 0x93ac2519
je 0x100020c1
jmp 0x10001293
mov eax, dword [ebp - 0xa0]
sub eax, 0x97c20096
je 0x10001d8e
jmp 0x100012a9
mov eax, dword [ebp - 0xa0]
sub eax, 0xa05dc48a
je 0x1000289a
jmp 0x100012bf
mov eax, dword [ebp - 0xa0]
sub eax, 0xa355b71f
je 0x10001982
jmp 0x100012d5
mov eax, dword [ebp - 0xa0]
sub eax, 0xad315fcb
je 0x10002835
jmp 0x100012eb
mov eax, dword [ebp - 0xa0]
sub eax, 0xb14b660b
je 0x10001b10
jmp 0x10001301
mov eax, dword [ebp - 0xa0]
sub eax, 0xb190758a
je 0x100028af
jmp 0x10001317
mov eax, dword [ebp - 0xa0]
sub eax, 0xb1ad52e1
je 0x100019ff
jmp 0x1000132d
mov eax, dword [ebp - 0xa0]
sub eax, 0xb5bc1154
je 0x1000238d
jmp 0x10001343
mov eax, dword [ebp - 0xa0]
sub eax, 0xba0f0bce
je 0x1000204b
jmp 0x10001359
mov eax, dword [ebp - 0xa0]
sub eax, 0xbff0dab4
je 0x1000263c
jmp 0x1000136f
mov eax, dword [ebp - 0xa0]
sub eax, 0xc957c017
je 0x1000291a
jmp 0x10001385
mov eax, dword [ebp - 0xa0]
sub eax, 0xcec14fa9
je 0x1000284f
jmp 0x1000139b
mov eax, dword [ebp - 0xa0]
sub eax, 0xcec4af52
je 0x10001836
jmp 0x100013b1
mov eax, dword [ebp - 0xa0]
sub eax, 0xd4cf420f
je 0x100027d6
jmp 0x100013c7
mov eax, dword [ebp - 0xa0]
sub eax, 0xd8338de6
je 0x100022e4
jmp 0x100013dd
mov eax, dword [ebp - 0xa0]
sub eax, 0xdd9a980e
je 0x10001cfa
jmp 0x100013f3
mov eax, dword [ebp - 0xa0]
sub eax, 0xddedc83d
je 0x100024f4
jmp 0x10001409
mov eax, dword [ebp - 0xa0]
sub eax, 0xeb6816ee
je 0x1000201d
jmp 0x1000141f
mov eax, dword [ebp - 0xa0]
sub eax, 0xec501587
je 0x10002614
jmp 0x10001435
mov eax, dword [ebp - 0xa0]
sub eax, 0xecb9892b
je 0x10001991
jmp 0x1000144b
mov eax, dword [ebp - 0xa0]
sub eax, 0xed02df98
je 0x1000293d
jmp 0x10001461
mov eax, dword [ebp - 0xa0]
sub eax, 0xf32c62aa
je 0x1000215a
jmp 0x10001477
mov eax, dword [ebp - 0xa0]
sub eax, 0xf4edc07e
je 0x10001c2b
jmp 0x1000148d
mov eax, dword [ebp - 0xa0]
sub eax, 0xf605b58f
je 0x1000202c
jmp 0x100014a3
mov eax, dword [ebp - 0xa0]
sub eax, 0xf9be8e10
je 0x10001ba2
jmp 0x100014b9
mov eax, dword [ebp - 0xa0]
sub eax, 0xfb9e6e21
je 0x10001ca9
jmp 0x100014cf
mov eax, dword [ebp - 0xa0]
sub eax, 0xfba3c1c8
je 0x10001aa2
jmp 0x100014e5
mov eax, dword [ebp - 0xa0]
sub eax, 0xffc4d37f
je 0x1000236f
jmp 0x100014fb
mov eax, dword [ebp - 0xa0]
sub eax, 0x54519f9
je 0x1000273a
jmp 0x10001511
mov eax, dword [ebp - 0xa0]
sub eax, 0x65ef2c6
je 0x1000272b
jmp 0x10001527
mov eax, dword [ebp - 0xa0]
sub eax, 0x716fb40
je 0x10001a93
jmp 0x1000153d
mov eax, dword [ebp - 0xa0]
sub eax, 0xc078c08
je 0x100017c0
jmp 0x10001553
mov eax, dword [ebp - 0xa0]
sub eax, 0xc1d2e57
je 0x10001d70
jmp 0x10001569
mov eax, dword [ebp - 0xa0]
sub eax, 0x1e039cf8
je 0x10001c5c
jmp 0x1000157f
mov eax, dword [ebp - 0xa0]
sub eax, 0x2668b6b4
je 0x100024ac
jmp 0x10001595
mov eax, dword [ebp - 0xa0]
sub eax, 0x2859af24
je 0x10001bb1
jmp 0x100015ab
mov eax, dword [ebp - 0xa0]
sub eax, 0x2879e006
je 0x10001e98
jmp 0x100015c1
mov eax, dword [ebp - 0xa0]
sub eax, 0x292434a9
je 0x10002173
jmp 0x100015d7
mov eax, dword [ebp - 0xa0]
sub eax, 0x2b1dfbe3
je 0x100024db
jmp 0x100015ed
mov eax, dword [ebp - 0xa0]
sub eax, 0x2d863f28
je 0x1000274c
jmp 0x10001603
mov eax, dword [ebp - 0xa0]
sub eax, 0x378c4b0c
je 0x100021f3
jmp 0x10001619
mov eax, dword [ebp - 0xa0]
sub eax, 0x391370bc
je 0x10001c4d
jmp 0x1000162f
mov eax, dword [ebp - 0xa0]
sub eax, 0x3929d5ad
je 0x100028c7
jmp 0x10001645
mov eax, dword [ebp - 0xa0]
sub eax, 0x3c6b94bd
je 0x100024cc
jmp 0x1000165b
mov eax, dword [ebp - 0xa0]
sub eax, 0x408b731c
je 0x10001a75
jmp 0x10001671
mov eax, dword [ebp - 0xa0]
sub eax, 0x41800737
je 0x100025ec
jmp 0x10001687
mov eax, dword [ebp - 0xa0]
sub eax, 0x4ba3473a
je 0x10002665
jmp 0x1000169d
mov eax, dword [ebp - 0xa0]
sub eax, 0x4f77166a
je 0x10001e1b
jmp 0x100016b3
mov eax, dword [ebp - 0xa0]
sub eax, 0x5a18b4b1
je 0x100025fb
jmp 0x100016c9
mov eax, dword [ebp - 0xa0]
sub eax, 0x5aac742b
je 0x10001d61
jmp 0x100016df
mov eax, dword [ebp - 0xa0]
sub eax, 0x6745b90c
je 0x10001f90
jmp 0x100016f5
mov eax, dword [ebp - 0xa0]
sub eax, 0x6778f1d0
je 0x100027e5
jmp 0x1000170b
mov eax, dword [ebp - 0xa0]
sub eax, 0x7222a600
je 0x10002562
jmp 0x10001721
mov eax, dword [ebp - 0xa0]
sub eax, 0x73ad7f6c
je 0x10001f22
jmp 0x10001737
mov eax, dword [ebp - 0xa0]
sub eax, 0x73b78a09
je 0x10001ea7
jmp 0x1000174d
mov eax, dword [ebp - 0xa0]
sub eax, 0x75b67504
je 0x100026ae
jmp 0x10001763
mov eax, dword [ebp - 0xa0]
sub eax, 0x7750da9c
je 0x1000228c
jmp 0x10001779
mov eax, dword [ebp - 0xa0]
sub eax, 0x782a6b2a
je 0x1000286d
jmp 0x1000178f
mov eax, dword [ebp - 0xa0]
sub eax, 0x79f6f564
je 0x1000229b
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
sub edx, 0x7ebfb808
sub edx, 1
add edx, 0x7ebfb808
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, 0x2d863f28
mov ecx, 0xcec4af52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, esp
mov dword [ebp - 0x90], ecx
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
sub esp, 0x104
mov ecx, esp
mov dword [ebp - 0x80], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x64], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x60], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x94], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100082b0
add esp, 0xc
mov eax, dword [ebp - 0x94]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
add edx, 0x87c86f98
sub edx, 1
sub edx, 0x87c86f98
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, 0x2d863f28
mov ecx, 0xa355b71f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0xecb9892b
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0xd4cf420f
mov ecx, 0xb1ad52e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
add edx, 0xe2d7aecf
sub edx, 1
sub edx, 0xe2d7aecf
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, 0xd4cf420f
mov ecx, 0x408b731c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dl, byte [ebp - 0x55]
mov eax, 0x716fb40
mov ecx, 0xfba3c1c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x54519f9
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0x6778f1d0
mov ecx, 0xb14b660b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
mov edx, eax
add edx, 0x60c471be
sub edx, 1
sub edx, 0x60c471be
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, 0x6778f1d0
mov ecx, 0xf9be8e10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x2859af24
jmp 0x10002956
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx]
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 - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xf4edc07e
jmp 0x10002956
mov edx, dword [ebp - 0x7c]
mov esi, 0xffffffff
mov eax, 0x1e039cf8
mov ecx, 0x391370bc
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x54519f9
jmp 0x10002956
mov eax, dword [ebp - 0x7c]
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 dword [ebp - 0x98], 0xfb9e6e21
jmp 0x10002956
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
mov edx, eax
sub edx, 0x70780201
sub edx, 1
add edx, 0x70780201
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, 0xad315fcb
mov ecx, 0xdd9a980e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
mov edx, eax
add edx, 0xc1296c30
sub edx, 1
sub edx, 0xc1296c30
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, 0xad315fcb
mov ecx, 0x5aac742b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0xc1d2e57
jmp 0x10002956
mov dl, byte [ebp - 0x4d]
mov eax, 0x97c20096
mov ecx, 0x7e8e0cc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x98], 0x8d1bb2f4
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
sub edx, 0x27357d13
sub edx, 1
add edx, 0x27357d13
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, 0xcec14fa9
mov ecx, 0x4f77166a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0xcec14fa9
mov ecx, 0x2879e006
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x73b78a09
jmp 0x10002956
mov dword [ebp - 0x98], 0x54519f9
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0x782a6b2a
mov ecx, 0x6745b90c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
sub eax, 0x23ef8827
add eax, ecx
add eax, 0x23ef8827
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
add edx, 0x3369fe7f
sub edx, 1
sub edx, 0x3369fe7f
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, 0x782a6b2a
mov ecx, 0xeb6816ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0xf605b58f
jmp 0x10002956
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x98], 0xba0f0bce
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
add edx, 0x37e484be
sub edx, 1
sub edx, 0x37e484be
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, 0xa05dc48a
mov ecx, 0x93ac2519
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x38], eax
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
sub edx, 0x5a8349df
sub edx, 1
add edx, 0x5a8349df
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, 0xa05dc48a
mov ecx, 0x865aebe5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0xf32c62aa
jmp 0x10002956
mov eax, dword [ebp - 0x38]
movzx eax, word [eax + 2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x98], 0x292434a9
jmp 0x10002956
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x34]
mov eax, 0xec501587
mov ecx, 0x8d925799
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x98], 0x8ead1df6
jmp 0x10002956
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
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, 0xb190758a
mov ecx, 0x378c4b0c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x30]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x5c02881c
add eax, ecx
sub eax, 0x5c02881c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0xb190758a
mov ecx, 0x7750da9c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x79f6f564
jmp 0x10002956
mov eax, dword [ebp - 0x28]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x2c]
add ecx, 0x5a13171d
add ecx, eax
sub ecx, 0x5a13171d
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100141a0
call fcn.1000a620
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x22], al
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
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, 0x3929d5ad
mov ecx, 0xffc4d37f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dl, byte [ebp - 0x22]
mov eax, 0xb5bc1154
mov ecx, 0x3c6b94bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x57ce8d71
add edx, eax
sub edx, 0x57ce8d71
mov eax, dword [ebp - 0x60]
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 al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x98], 0x83bc9e8a
jmp 0x10002956
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x21]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xc93fbdae
add ecx, eax
add ecx, 0xc93fbdae
mov eax, dword [ebp - 0x64]
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.10008410
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
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 - 0x60]
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]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x98], 0x2668b6b4
jmp 0x10002956
mov eax, dword [ebp - 0x20]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x98], 0x3c6b94bd
jmp 0x10002956
mov dword [ebp - 0x98], 0x2b1dfbe3
jmp 0x10002956
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x98], 0xddedc83d
jmp 0x10002956
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0xc957c017
mov ecx, 0x7222a600
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov ax, word [ebp - 0x1c]
sub ax, 0x970e
add ax, 1
add ax, 0x970e
mov word [ebp - 0x1a], ax
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
mov edx, ecx
add edx, 0xcb9804b
sub edx, 1
sub edx, 0xcb9804b
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, 0xc957c017
mov ecx, 0x41800737
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x5a18b4b1
jmp 0x10002956
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov dword [ebp - 0x98], 0xba0f0bce
jmp 0x10002956
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x98], 0xbff0dab4
jmp 0x10002956
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x98], 0x4ba3473a
jmp 0x10002956
mov eax, dword [0x100d1b58]
mov ecx, dword [0x100d1b54]
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, 0xed02df98
mov ecx, 0x75b67504
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x100d1b58]
mov eax, dword [0x100d1b54]
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, 0xed02df98
mov ecx, 0x65ef2c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x98], eax
jmp 0x10002956
mov dword [ebp - 0x98], 0x54519f9
jmp 0x10002956
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10007690
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, esp
mov dword [ebp - 0xac], ecx
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0xa8], ecx
push eax
mov ecx, esp
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x94], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0xac]
mov edx, eax
mov eax, dword [ebp - 0xa8]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.100082b0
add esp, 0xc
mov eax, dword [ebp - 0x94]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xcec4af52
jmp 0x10002956
mov dword [ebp - 0x98], 0xb1ad52e1
jmp 0x10002956
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov dword [ebp - 0x98], 0xb14b660b
jmp 0x10002956
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], 0xdd9a980e
jmp 0x10002956
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x4f77166a
jmp 0x10002956
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x98], 0x6745b90c
jmp 0x10002956
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x98], 0x93ac2519
jmp 0x10002956
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x98], 0x378c4b0c
jmp 0x10002956
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100141a0
call fcn.1000a620
add esp, 8
mov dword [ebp - 0x98], 0xd8338de6
jmp 0x10002956
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov dword [ebp - 0x98], 0x7222a600
jmp 0x10002956
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x98], 0x75b67504
jmp 0x10001209