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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x1006a200]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
mov edx, ecx
sub edx, 0x32574734
sub edx, 1
add edx, 0x32574734
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0x9affc09e
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x83e9d1c0
je 0x100029c3
jmp 0x10001363
mov eax, dword [ebp - 0x98]
sub eax, 0x862eb680
je 0x10001f0e
jmp 0x10001379
mov eax, dword [ebp - 0x98]
sub eax, 0x8728bbf0
je 0x100028d4
jmp 0x1000138f
mov eax, dword [ebp - 0x98]
sub eax, 0x87bd45cb
je 0x10002ce3
jmp 0x100013a5
mov eax, dword [ebp - 0x98]
sub eax, 0x87c0ec17
je 0x10002c5f
jmp 0x100013bb
mov eax, dword [ebp - 0x98]
sub eax, 0x8b3fa99a
je 0x1000244c
jmp 0x100013d1
mov eax, dword [ebp - 0x98]
sub eax, 0x8bd5fb3e
je 0x100029aa
jmp 0x100013e7
mov eax, dword [ebp - 0x98]
sub eax, 0x8e77ad26
je 0x1000274e
jmp 0x100013fd
mov eax, dword [ebp - 0x98]
sub eax, 0x933d7bd7
je 0x10001f57
jmp 0x10001413
mov eax, dword [ebp - 0x98]
sub eax, 0x98635b9a
je 0x100028c5
jmp 0x10001429
mov eax, dword [ebp - 0x98]
sub eax, 0x9affc09e
je 0x10001a1c
jmp 0x1000143f
mov eax, dword [ebp - 0x98]
sub eax, 0x9c2ec94b
je 0x10002cbc
jmp 0x10001455
mov eax, dword [ebp - 0x98]
sub eax, 0xa7f2a663
je 0x10002264
jmp 0x1000146b
mov eax, dword [ebp - 0x98]
sub eax, 0xa9b3a574
je 0x10002532
jmp 0x10001481
mov eax, dword [ebp - 0x98]
sub eax, 0xacabdce8
je 0x1000239e
jmp 0x10001497
mov eax, dword [ebp - 0x98]
sub eax, 0xb4f558a8
je 0x10002a70
jmp 0x100014ad
mov eax, dword [ebp - 0x98]
sub eax, 0xb86ebb51
je 0x1000279d
jmp 0x100014c3
mov eax, dword [ebp - 0x98]
sub eax, 0xb8adc950
je 0x10002a8e
jmp 0x100014d9
mov eax, dword [ebp - 0x98]
sub eax, 0xba077978
je 0x100027ee
jmp 0x100014ef
mov eax, dword [ebp - 0x98]
sub eax, 0xba7d4cae
je 0x10002bbf
jmp 0x10001505
mov eax, dword [ebp - 0x98]
sub eax, 0xba7e6cff
je 0x10002a0c
jmp 0x1000151b
mov eax, dword [ebp - 0x98]
sub eax, 0xbde601c6
je 0x100020ee
jmp 0x10001531
mov eax, dword [ebp - 0x98]
sub eax, 0xc397253f
je 0x10002c95
jmp 0x10001547
mov eax, dword [ebp - 0x98]
sub eax, 0xc924a914
je 0x10001b87
jmp 0x1000155d
mov eax, dword [ebp - 0x98]
sub eax, 0xcdfe6caf
je 0x10001fcd
jmp 0x10001573
mov eax, dword [ebp - 0x98]
sub eax, 0xd24bb6b5
je 0x10002d86
jmp 0x10001589
mov eax, dword [ebp - 0x98]
sub eax, 0xd5d9ee82
je 0x10002c05
jmp 0x1000159f
mov eax, dword [ebp - 0x98]
sub eax, 0xd64924a4
je 0x10001eff
jmp 0x100015b5
mov eax, dword [ebp - 0x98]
sub eax, 0xd87c01bb
je 0x10001b0d
jmp 0x100015cb
mov eax, dword [ebp - 0x98]
sub eax, 0xdd76b94c
je 0x10002bce
jmp 0x100015e1
mov eax, dword [ebp - 0x98]
sub eax, 0xe1291811
je 0x10002052
jmp 0x100015f7
mov eax, dword [ebp - 0x98]
sub eax, 0xe3e9eedf
je 0x10002abf
jmp 0x1000160d
mov eax, dword [ebp - 0x98]
sub eax, 0xe5e8c3fb
je 0x10002210
jmp 0x10001623
mov eax, dword [ebp - 0x98]
sub eax, 0xed185082
je 0x1000272a
jmp 0x10001639
mov eax, dword [ebp - 0x98]
sub eax, 0xeffec2e1
je 0x100023e7
jmp 0x1000164f
mov eax, dword [ebp - 0x98]
sub eax, 0xf0b6a9bf
je 0x1000299b
jmp 0x10001665
mov eax, dword [ebp - 0x98]
sub eax, 0xf105bb9d
je 0x10002bdd
jmp 0x1000167b
mov eax, dword [ebp - 0x98]
sub eax, 0xf2e89588
je 0x10002622
jmp 0x10001691
mov eax, dword [ebp - 0x98]
sub eax, 0xf83193e8
je 0x10001cce
jmp 0x100016a7
mov eax, dword [ebp - 0x98]
sub eax, 0xfba1a1b2
je 0x100024c9
jmp 0x100016bd
mov eax, dword [ebp - 0x98]
sub eax, 0x568d66c
je 0x10001d44
jmp 0x100016d3
mov eax, dword [ebp - 0x98]
sub eax, 0x832ce59
je 0x10002bf6
jmp 0x100016e9
mov eax, dword [ebp - 0x98]
sub eax, 0xa0a573b
je 0x1000235a
jmp 0x100016ff
mov eax, dword [ebp - 0x98]
sub eax, 0xcd167fc
je 0x10002369
jmp 0x10001715
mov eax, dword [ebp - 0x98]
sub eax, 0xeef08a4
je 0x10001c7f
jmp 0x1000172b
mov eax, dword [ebp - 0x98]
sub eax, 0x13bd290e
je 0x10001fdc
jmp 0x10001741
mov eax, dword [ebp - 0x98]
sub eax, 0x18192a8b
je 0x1000271b
jmp 0x10001757
mov eax, dword [ebp - 0x98]
sub eax, 0x196a5923
je 0x10001d9f
jmp 0x1000176d
mov eax, dword [ebp - 0x98]
sub eax, 0x1a0e40e9
je 0x10002523
jmp 0x10001783
mov eax, dword [ebp - 0x98]
sub eax, 0x1b3efc16
je 0x10002d4e
jmp 0x10001799
mov eax, dword [ebp - 0x98]
sub eax, 0x1d82ad08
je 0x10002caa
jmp 0x100017af
mov eax, dword [ebp - 0x98]
sub eax, 0x1e0db01e
je 0x100021e3
jmp 0x100017c5
mov eax, dword [ebp - 0x98]
sub eax, 0x1f58ae77
je 0x10002cd1
jmp 0x100017db
mov eax, dword [ebp - 0x98]
sub eax, 0x20d05068
je 0x100020df
jmp 0x100017f1
mov eax, dword [ebp - 0x98]
sub eax, 0x22c551b4
je 0x10002c71
jmp 0x10001807
mov eax, dword [ebp - 0x98]
sub eax, 0x2861c79e
je 0x100022d2
jmp 0x1000181d
mov eax, dword [ebp - 0x98]
sub eax, 0x28ba2f3c
je 0x10002a7f
jmp 0x10001833
mov eax, dword [ebp - 0x98]
sub eax, 0x2b7a4188
je 0x10001dae
jmp 0x10001849
mov eax, dword [ebp - 0x98]
sub eax, 0x2bb3e2cd
je 0x10001a70
jmp 0x1000185f
mov eax, dword [ebp - 0x98]
sub eax, 0x2d260ee9
je 0x10002b47
jmp 0x10001875
mov eax, dword [ebp - 0x98]
sub eax, 0x2f52b871
je 0x100021f2
jmp 0x1000188b
mov eax, dword [ebp - 0x98]
sub eax, 0x357bdbdc
je 0x10001afe
jmp 0x100018a1
mov eax, dword [ebp - 0x98]
sub eax, 0x37068dfa
je 0x10001c8e
jmp 0x100018b7
mov eax, dword [ebp - 0x98]
sub eax, 0x3ad34371
je 0x10002604
jmp 0x100018cd
mov eax, dword [ebp - 0x98]
sub eax, 0x3b360dd9
je 0x10002114
mov bl, byte [ebp - 0x8a]
mov dh, byte [ebp - 0x89]
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, 0xba7d4cae
mov ecx, 0x2bb3e2cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0xc
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
sub esp, 0x104
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
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
sub edx, 0x64dfe891
sub edx, 1
add edx, 0x64dfe891
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, 0xba7d4cae
mov ecx, 0x357bdbdc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xd87c01bb
jmp 0x10002d9f
mov ecx, dword [ebp - 0x94]
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.1000bf70
add esp, 0xc
mov dword [ebp - 0x90], 0xc924a914
jmp 0x10002d9f
mov eax, dword [ebp - 0x88]
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 - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0x627bde5d
mov ecx, 0x37068dfa
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x5eb0c42a
jmp 0x10002d9f
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 - 0x80]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x90], 0xf83193e8
jmp 0x10002d9f
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
mov edx, ecx
sub edx, 0x86fdc619
sub edx, 1
add edx, 0x86fdc619
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, 0xf105bb9d
mov ecx, 0x568d66c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
add edx, 0xd448103d
sub edx, 1
sub edx, 0xd448103d
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, 0xf105bb9d
mov ecx, 0x196a5923
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x2b7a4188
jmp 0x10002d9f
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
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 - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0x862eb680
mov ecx, 0x63012d00
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x5eb0c42a
jmp 0x10002d9f
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
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, 0xd5d9ee82
mov ecx, 0x933d7bd7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
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, 0xd5d9ee82
mov ecx, 0xcdfe6caf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x13bd290e
jmp 0x10002d9f
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
mov edx, ecx
add edx, 0x76e2d0d3
sub edx, 1
sub edx, 0x76e2d0d3
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, 0x5c35eafe
mov ecx, 0xe1291811
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x48]
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 - 0x44], eax
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
add edx, 0x333cb72d
sub edx, 1
sub edx, 0x333cb72d
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, 0x5c35eafe
mov ecx, 0x20d05068
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xbde601c6
jmp 0x10002d9f
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x6c]
mov eax, 0x3b360dd9
mov ecx, 0x3fc11e76
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x2f52b871
jmp 0x10002d9f
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xe5e8c3fb
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x5eb0c42a
jmp 0x10002d9f
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
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, 0x22c551b4
mov ecx, 0x2861c79e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
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, 0x22c551b4
mov ecx, 0xa0a573b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xcd167fc
jmp 0x10002d9f
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0xb8105363
add ecx, eax
add ecx, 0xb8105363
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x90], 0xacabdce8
jmp 0x10002d9f
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
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, 0xc397253f
mov ecx, 0xeffec2e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x30], eax
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
sub edx, 0x7863d580
sub edx, 1
add edx, 0x7863d580
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, 0xc397253f
mov ecx, 0x8b3fa99a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x53641f3e
jmp 0x10002d9f
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
sub edx, 0x41b44b9d
sub edx, 1
add edx, 0x41b44b9d
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, 0x1d82ad08
mov ecx, 0x1a0e40e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xa9b3a574
jmp 0x10002d9f
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
add edx, 0xa6431c81
sub edx, 1
sub edx, 0xa6431c81
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, 0x9c2ec94b
mov ecx, 0x519fff53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dl, byte [ebp - 0x25]
mov eax, 0xb8adc950
mov ecx, 0xf2e89588
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
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, 0x1f58ae77
mov ecx, 0x721f6800
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xed185082
jmp 0x10002d9f
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x90], 0x8e77ad26
jmp 0x10002d9f
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x20]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x100183b0
call fcn.1000e2e0
add esp, 8
mov edx, eax
mov eax, 0xb86ebb51
mov ecx, 0xf0b6a9bf
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
add edx, 0x3d922b8d
sub edx, 1
sub edx, 0x3d922b8d
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, 0x87bd45cb
mov ecx, 0xba077978
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
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 - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x1006b540]
mov eax, dword [0x1006b53c]
mov edx, ecx
add edx, 0x6b6a306f
sub edx, 1
sub edx, 0x6b6a306f
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, 0x87bd45cb
mov ecx, 0x98635b9a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x8728bbf0
jmp 0x10002d9f
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x90], 0x6cc82a6c
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x8bd5fb3e
jmp 0x10002d9f
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x90], 0x83e9d1c0
jmp 0x10002d9f
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
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, 0x1b3efc16
mov ecx, 0xba7e6cff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
mov edx, eax
add edx, 0xb7f5b061
sub edx, 1
sub edx, 0xb7f5b061
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, 0x1b3efc16
mov ecx, 0xb4f558a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x28ba2f3c
jmp 0x10002d9f
mov dword [ebp - 0x90], 0xacabdce8
jmp 0x10002d9f
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0xe3e9eedf
jmp 0x10002d9f
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x90], 0x734702aa
jmp 0x10002d9f
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006b540]
mov ecx, dword [0x1006b53c]
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, 0xd24bb6b5
mov ecx, 0x5b672bbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x2bb3e2cd
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x57c93c90
jmp 0x10002d9f
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x568d66c
jmp 0x10002d9f
mov dword [ebp - 0x90], 0x5d1a37b6
jmp 0x10002d9f
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0x933d7bd7
jmp 0x10002d9f
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0x4ebd1199
jmp 0x10002d9f
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x90], 0x2861c79e
jmp 0x10002d9f
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x90], 0xeffec2e1
jmp 0x10002d9f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x90], 0xfba1a1b2
jmp 0x10002d9f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x90], 0x519fff53
jmp 0x10002d9f
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x90], 0x721f6800
jmp 0x10002d9f
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x4459c8a2
add edx, eax
sub edx, 0x4459c8a2
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x90], 0xba077978
jmp 0x10002d9f
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x90], 0xba7e6cff
jmp 0x10002d9f
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x2d260ee9
jmp 0x10001347