Function at 0x8c2f90
Capabilities:
Encode data using xor
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x460
nop
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x8c6320
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.008c6300
mov edx, dword [0xa776f4]
mov ecx, dword [0xa776d8]
mov edi, 0xffffeb1e
sub edi, eax
mov dword [ebp - 0x30], edi
sub ecx, edi
add ecx, edx
call dword [0xa37360]
call ecx
mov dword [esi], 0
mov ecx, eax
xor ecx, 0xee1e2f1d
mov dword [ebp - 0x44], ecx
mov dword [esi + ecx], 0
mov ecx, eax
xor ecx, 0xee1e2f11
mov dword [ebp - 0x94], ecx
mov dword [esi + ecx], 0
movzx ecx, byte [0xa775dc]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x25], al
xor al, 0xbf
mov byte [ebp - 0x1d], al
cmp cl, al
je 0x8c311d
movzx edx, byte [ebp - 0x25]
mov ecx, edx
xor cl, 0x3b
xor dl, 0xc6
nop
mov eax, ecx
lock cmpxchg byte [0xa775dc], dl
je 0x8c3056
cmp al, byte [ebp - 0x1d]
jne 0x8c3040
jmp 0x8c311d
nop
mov eax, dword [ebp - 0x7c]
mov ecx, eax
xor ecx, 0x4054ba1
mov dword [ebp - 0xa4], ecx
mov ecx, eax
xor ecx, 0xfbfab45e
mov dword [ebp - 0x98], ecx
mov ecx, eax
xor ecx, 0xee1e2f12
mov dword [ebp - 0x34], ecx
movzx ecx, byte [ebp - 0x25]
mov edx, ecx
xor dl, 0xf8
xor cl, 7
xor eax, 0xee1e2f15
cmp eax, 2
mov esi, 1
cmovge esi, eax
mov dword [ebp - 0x38], esi
xor edi, edi
mov esi, 0xffffffff
nop
mov byte [ebp - 0x80], dl
xor cl, dl
mov byte [ebp - 0x24], cl
mov ebx, dword [ebp - 0x98]
nop word cs:[eax + eax]
mov eax, edi
mov ecx, dword [ebp - 0xa4]
xor eax, ecx
mov edx, ebx
and edx, esi
or edx, eax
and eax, ecx
mov ecx, edi
and ecx, ebx
xor ecx, eax
not edx
lea eax, [ecx + edx*2]
xor edx, edx
mov ecx, dword [ebp - 0x34]
div ecx
not edx
mov dword [0xa77818], 0x3fc1a107
movzx eax, byte [ecx + edx + 0x9ebbb0]
and al, byte [ebp - 0x24]
xor al, byte [ebp - 0x80]
xor byte [edi + 0xa775d0], al
inc edi
dec esi
cmp dword [ebp - 0x38], edi
jne 0x8c30c0
nop
movzx eax, byte [ebp - 0x1d]
xchg byte [0xa775dc], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov esi, dword [ebp - 0x7c]
xor esi, 0xee1e2f15
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
lea edx, [ebp - 0x240]
mov dword [ebp - 0xb8], esi
push esi
push 0xa775d0
push edx
call ecx
add esp, 0xc
mov dword [ebp - 0x10], 0xc
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
nop
mov edx, dword [ebp - 0x7c]
mov ecx, edx
xor ecx, 0xee1e2f09
mov dword [ebp - 0x34], ecx
mov ecx, edx
xor ecx, 0xee1e2f1a
mov dword [ebp - 0x80], ecx
mov ecx, edx
xor ecx, 0xee1e2f1c
mov dword [ebp - 0xd0], ecx
mov ecx, edx
xor ecx, 0xee1e2f1f
mov dword [ebp - 0xcc], ecx
mov ecx, edx
xor ecx, 0xee1e2f10
mov dword [ebp - 0xc8], ecx
mov ecx, edx
xor ecx, 0xee1e2f13
mov dword [ebp - 0xc4], ecx
mov ecx, edx
xor ecx, 0xee1e2f31
mov dword [ebp - 0xc0], ecx
mov ecx, edx
xor ecx, 0xee1e2f5b
mov dword [ebp - 0x1e8], ecx
mov ecx, edx
xor ecx, 0xee1e2f5a
mov dword [ebp - 0x1e4], ecx
mov ecx, edx
xor ecx, 0xee1e2f5d
mov dword [ebp - 0x1e0], ecx
mov ecx, edx
xor ecx, 0xee1e2f5c
mov dword [ebp - 0x1dc], ecx
mov ecx, edx
xor ecx, 0xee1e2f5f
mov dword [ebp - 0x1d8], ecx
mov ecx, edx
xor ecx, 0xee1e2f5e
mov dword [ebp - 0x1d4], ecx
mov ecx, edx
xor ecx, 0xee1e2f51
mov dword [ebp - 0x1d0], ecx
mov ecx, edx
xor ecx, 0xee1e2f1e
mov dword [ebp - 0x1cc], ecx
mov ecx, edx
xor ecx, 0xee1e2f50
mov dword [ebp - 0x1c8], ecx
mov ecx, edx
xor ecx, 0xee1e2f53
mov dword [ebp - 0x1c4], ecx
mov ecx, edx
xor ecx, 0xee1e2f52
mov dword [ebp - 0x1c0], ecx
mov ecx, edx
xor ecx, 0xee1e2f55
mov dword [ebp - 0x1bc], ecx
mov ecx, edx
xor ecx, 0xee1e2f12
mov dword [ebp - 0x1b8], ecx
mov ecx, edx
xor ecx, 0xee1e2f54
mov dword [ebp - 0x1b4], ecx
mov ecx, edx
xor ecx, 0xee1e2f57
mov dword [ebp - 0x1b0], ecx
mov ecx, edx
xor ecx, 0xee1e2f14
mov dword [ebp - 0x1ac], ecx
mov ecx, edx
xor ecx, 0xee1e2f56
mov dword [ebp - 0x1a8], ecx
mov ecx, edx
xor ecx, 0xee1e2f49
mov dword [ebp - 0x1a4], ecx
mov ecx, edx
xor ecx, 0xee1e2f16
mov dword [ebp - 0x38], ecx
mov ecx, edx
xor ecx, 0xee1e2f48
mov dword [ebp - 0x1a0], ecx
mov ecx, edx
xor ecx, 0xee1e2f17
mov dword [ebp - 0x19c], ecx
mov ecx, edx
xor ecx, 0xee1e2f4b
mov dword [ebp - 0x198], ecx
mov ecx, edx
xor ecx, 0xee1e2f08
mov dword [ebp - 0x194], ecx
mov ecx, edx
xor ecx, 0xee1e2f4a
mov dword [ebp - 0x190], ecx
mov ecx, edx
xor ecx, 0xee1e2f4d
mov dword [ebp - 0x18c], ecx
mov ecx, edx
xor ecx, 0xee1e2f0a
mov dword [ebp - 0x188], ecx
mov ecx, edx
xor ecx, 0xee1e2f4c
mov dword [ebp - 0x184], ecx
mov ecx, edx
xor ecx, 0xee1e2f0b
mov dword [ebp - 0x180], ecx
mov ecx, edx
xor ecx, 0xee1e2f4f
mov dword [ebp - 0x17c], ecx
mov ecx, edx
xor ecx, 0xee1e2f0c
mov dword [ebp - 0x178], ecx
mov ecx, edx
xor ecx, 0xee1e2f4e
mov dword [ebp - 0x174], ecx
mov ecx, edx
xor ecx, 0xee1e2f0d
mov dword [ebp - 0x3c], ecx
mov ecx, edx
xor ecx, 0xee1e2f41
mov dword [ebp - 0x170], ecx
mov ecx, edx
xor ecx, 0xee1e2f0e
mov dword [ebp - 0x16c], ecx
mov ecx, edx
xor ecx, 0xee1e2f40
mov dword [ebp - 0x168], ecx
mov ecx, edx
xor ecx, 0xee1e2f0f
mov dword [ebp - 0x164], ecx
mov ecx, edx
xor ecx, 0xee1e2f43
mov dword [ebp - 0x160], ecx
mov ecx, edx
xor ecx, 0xee1e2f00
mov dword [ebp - 0x15c], ecx
mov ecx, edx
xor ecx, 0xee1e2f42
mov dword [ebp - 0x158], ecx
mov ecx, edx
xor ecx, 0xee1e2f01
mov dword [ebp - 0x90], ecx
mov ecx, edx
xor ecx, 0xee1e2f45
mov dword [ebp - 0x154], ecx
mov ecx, edx
xor ecx, 0xee1e2f02
mov dword [ebp - 0x150], ecx
mov ecx, edx
xor ecx, 0xee1e2f44
mov dword [ebp - 0x14c], ecx
mov ecx, edx
xor ecx, 0xee1e2f03
mov dword [ebp - 0x148], ecx
mov ecx, edx
xor ecx, 0xee1e2f47
mov dword [ebp - 0x144], ecx
mov ecx, edx
xor ecx, 0xee1e2f04
mov dword [ebp - 0x140], ecx
mov ecx, edx
xor ecx, 0xee1e2f46
mov dword [ebp - 0x13c], ecx
mov ecx, edx
xor ecx, 0xee1e2f05
mov dword [ebp - 0x138], ecx
mov ecx, edx
xor ecx, 0xee1e2f79
mov dword [ebp - 0x134], ecx
mov ecx, edx
xor ecx, 0xee1e2f06
mov dword [ebp - 0x130], ecx
mov ecx, edx
xor ecx, 0xee1e2f78
mov dword [ebp - 0x12c], ecx
mov ecx, edx
xor ecx, 0xee1e2f07
mov dword [ebp - 0x128], ecx
mov ecx, edx
xor ecx, 0xee1e2f7b
mov dword [ebp - 0x124], ecx
mov ecx, edx
xor ecx, 0xee1e2f38
mov dword [ebp - 0x120], ecx
mov ecx, edx
xor ecx, 0xee1e2f7a
mov dword [ebp - 0x11c], ecx
mov ecx, edx
xor ecx, 0xee1e2f39
mov dword [ebp - 0x8c], ecx
mov ecx, edx
xor ecx, 0xee1e2f7d
mov dword [ebp - 0x118], ecx
mov ecx, edx
xor ecx, 0xee1e2f3a
mov dword [ebp - 0xa0], ecx
mov ecx, edx
xor ecx, 0xee1e2f7c
mov dword [ebp - 0x114], ecx
mov ecx, edx
xor ecx, 0xee1e2f3b
mov dword [ebp - 0x110], ecx
mov ecx, edx
xor ecx, 0xee1e2f7f
mov dword [ebp - 0x10c], ecx
mov ecx, edx
xor ecx, 0xee1e2f3c
mov dword [ebp - 0x108], ecx
mov ecx, edx
xor ecx, 0xee1e2f7e
mov dword [ebp - 0x104], ecx
mov ecx, edx
xor ecx, 0xee1e2f3d
mov dword [ebp - 0x78], ecx
mov ecx, edx
xor ecx, 0xee1e2f71
mov dword [ebp - 0x100], ecx
mov dword [0xa7781c], 0xee1e2f19
mov ecx, edx
xor ecx, 0xee1e2f3e
mov dword [ebp - 0xfc], ecx
mov ecx, edx
xor ecx, 0xee1e2f70
mov dword [ebp - 0xf8], ecx
mov ecx, edx
xor ecx, 0xee1e2f3f
mov dword [ebp - 0xf4], ecx
mov ecx, edx
xor ecx, 0x2e1e2f19
mov dword [ebp - 0x208], ecx
mov ecx, edx
xor ecx, 0xae1e2f19
mov dword [ebp - 0xd4], ecx
mov ecx, edx
xor ecx, 0xee196f99
mov dword [ebp - 0x204], ecx
mov ecx, edx
xor ecx, 0xee1e2fd1
mov dword [ebp - 0xbc], ecx
movzx ecx, byte [ebp - 0x25]
mov ch, cl
xor ch, 9
mov byte [ebp - 0x72], ch
mov esi, edx
xor esi, 0xee1e2d19
mov dword [ebp - 0x1f8], esi
xor cl, 0xa9
mov byte [ebp - 0x71], cl
mov ecx, edx
xor ecx, 0xee19ef91
mov dword [ebp - 0x1f4], ecx
mov ecx, edx
xor ecx, 0xee1e2d09
mov dword [ebp - 0x1f0], ecx
mov ecx, edx
xor ecx, 0xee1e20e6
mov dword [ebp - 0x9c], ecx
mov ecx, edx
xor ecx, 0x11e1d0e5
mov dword [ebp - 0x88], ecx
mov ecx, edx
xor ecx, 0xee333b19
mov dword [ebp - 0x200], ecx
mov ecx, edx
xor ecx, 0xee1e2f8f
mov dword [ebp - 0x1fc], ecx
mov ecx, edx
xor ecx, 0x91e1d0e6
mov dword [ebp - 0xb4], ecx
mov ecx, edx
xor ecx, 0xee1e20e7
mov dword [ebp - 0xb0], ecx
xor edx, 0x11e1d0f9
mov dword [ebp - 0x7c], edx
mov byte [ebp - 0x1d], 0x41
mov ecx, dword [ebp - 0x44]
lea edx, [ecx + ebp]
add edx, 0xfffffdc0
mov dword [ebp - 0x98], edx
add ecx, ebp
add ecx, 0xfffffdcc
mov dword [ebp - 0x1ec], ecx
jmp 0x8c368b
mov eax, dword [ebp - 0xa4]
shr eax, 1
inc byte [ebp - 0x1d]
test eax, eax
je 0x8c475a
nop
movzx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x98]
mov byte [edx], cl
mov dword [ebp - 0xa4], eax
test al, 1
je 0x8c3680
nop
mov dword [ebp - 0x10], 0xc
push dword [ebp - 0x98]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 4
je 0x8c3680
cmp eax, 2
jne 0x8c36d3
movzx eax, byte [ebp - 0x1d]
xor al, byte [ebp - 0x25]
cmp al, 0x58
je 0x8c3680
nop
push 0
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0x80]
push eax
push 0
push eax
push dword [ebp - 0x208]
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
nop
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x8c37b3
xorps xmm0, xmm0
movsd qword [ebp - 0x248], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x10], 0xd
sub esp, 0x10
movups xmmword [esp], xmm0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, eax
mov dword [ebp - 0x70], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x46c], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
mov dword [ebp + eax - 0x46c], ecx
mov dword [ebp - 0x10], 0x12
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x90]
lea eax, [ebp - 0x258]
push eax
push 0
push 0
push dword [ebp - 0x204]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov cl, 1
mov dword [ebp - 0x40], ecx
test eax, eax
jne 0x8c37ea
nop
push dword [ebp - 0xbc]
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x8c37c2
mov dword [ebp - 0x40], 0
jmp 0x8c37ea
mov dword [ebp - 0x258], 0
jmp 0x8c3e5a
nop
mov dword [ebp - 0x234], 0
push 0
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x46c]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x8c37aa
mov dword [ebp - 0x10], 1
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov eax, dword [ebp - 0x80]
movzx eax, byte [ebp + eax - 0x258]
test al, al
setne cl
test byte [ebp - 0x40], cl
je 0x8c3e38
mov dword [ebp - 0x210], 0
test byte [ebp - 0x72], al
mov ebx, 0xb8
mov eax, 0xf5
cmove ebx, eax
xor bl, byte [ebp - 0x25]
push 0x211
push 0
lea esi, [ebp - 0x46c]
push esi
call fcn.009350b0
add esp, 0xc
mov eax, dword [ebp - 0x1ec]
xorps xmm0, xmm0
movups xmmword [eax + 0xd], xmm0
movups xmmword [eax], xmm0
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax - 0x234], 1
mov eax, dword [ebp - 0xcc]
mov byte [ebp + eax - 0x234], 1
mov eax, dword [ebp - 0xc8]
movzx ecx, byte [ebp - 0x71]
mov byte [ebp + eax - 0x234], cl
mov eax, dword [ebp - 0xc4]
mov byte [ebp + eax - 0x234], bl
mov dword [ebp - 0x10], 0xd
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x1f0]
push esi
push dword [ebp - 0x8c]
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x1f4]
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x8c3e3a
mov eax, dword [ebp - 0xc0]
mov word [ebp + eax - 0x70], 0
mov eax, dword [ebp - 0x1e8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov byte [ebp - 0x6f], al
mov eax, dword [ebp - 0x1e4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x1e0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x80]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1dc]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 0x1d8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1d4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x44]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1d0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x1cc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xcc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x94]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1bc]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x1b8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1b4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1b0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x1ac]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1a8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xb8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1a4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov edi, dword [ebp - 0x38]
mov byte [ebp + edi - 0x70], al
mov eax, dword [ebp - 0x1a0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x19c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x198]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x194]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x190]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov esi, dword [ebp - 0x34]
mov byte [ebp + esi - 0x70], al
mov eax, dword [ebp - 0x18c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x188]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x184]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x180]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x17c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x178]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x174]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ebx, dword [ebp - 0x3c]
mov byte [ebp + ebx - 0x70], al
mov eax, dword [ebp - 0x170]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x16c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x168]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x164]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x160]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x15c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x158]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x90]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x154]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x150]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x14c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x148]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x144]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x140]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x13c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x138]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x134]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x130]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x12c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x128]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x124]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x120]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x11c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x8c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x118]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xa0]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x114]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x110]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x10c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x108]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x104]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0x78]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x100]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xfc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0xf8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.009077c9
add esp, 4
mov ecx, dword [ebp - 0xf4]
mov byte [ebp + ecx - 0x70], al
mov dword [ebp + esi - 0xec], 0
mov dword [ebp + ebx - 0xec], edi
mov byte [ebp - 0xec], 0
lea ebx, [ebp - 0x70]
push ebx
call fcn.00903f50
add esp, 4
cmp eax, edi
jbe 0x8c3ffc
sub esp, 0xc
movzx ecx, byte [ebp - 0xac]
mov byte [esp + 4], cl
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [ebp - 0xec]
call fcn.006704d0
jmp 0x8c4039
jmp 0x8c3e3a
nop
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
mov dword [ebp - 0x10], 0xd
jne 0x8c3e8c
nop
mov dword [ebp - 0x10], 0xd
push 0
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0x80]
push eax
push 0
push eax
push 0
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x8c471f
xorps xmm0, xmm0
movsd qword [ebp - 0x3de], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x3ec], xmm0
movups xmmword [ebp - 0x3fc], xmm0
movups xmmword [ebp - 0x40c], xmm0
movups xmmword [ebp - 0x41c], xmm0
movups xmmword [ebp - 0x42c], xmm0
movups xmmword [ebp - 0x43c], xmm0
movups xmmword [ebp - 0x44c], xmm0
movups xmmword [ebp - 0x45c], xmm0
movups xmmword [ebp - 0x46c], xmm0
sub esp, 0x10
movups xmmword [esp], xmm0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
nop
mov edx, dword [ebp - 0x24]
mov ecx, eax
mov dword [ebp - 0x234], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
mov dword [ebp + eax - 0x70], ecx
mov dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x46c]
push ecx
push eax
push ecx
push dword [ebp - 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x8c3f3f
mov dword [ebp - 0x24], 0
jmp 0x8c3f5c
nop
push dword [ebp - 0xbc]
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x8c4146
mov al, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 5
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp byte [ebp - 0x24], 0
jne 0x8c471f
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x46c], eax
jne 0x8c471f
nop
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp + eax - 0x46c]
test eax, eax
je 0x8c43f8
lea esi, [eax + ebp]
add esi, 0xfffffb94
mov edi, dword [ebp - 0x34]
mov dword [ebp + edi - 0x70], 0
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax - 0x70], ebx
mov byte [ebp - 0x70], 0
push esi
call fcn.00903f50
add esp, 4
cmp eax, ebx
jbe 0x8c41e1
nop
mov dword [ebp - 0x10], 0xd
sub esp, 0xc
movzx ecx, byte [ebp - 0x234]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x70]
call fcn.006704d0
jmp 0x8c4215
mov dword [ebp + esi - 0xec], eax
mov edx, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov esi, eax
call dword [0xa37360]
push esi
push ebx
lea eax, [ebp - 0xec]
push eax
call ecx
add esp, 0xc
mov byte [ebp + esi - 0xec], 0
mov edx, dword [0xa8d9e8]
mov dword [ebp - 0x40], 0xa8d9d8
mov eax, dword [ebp - 0x38]
cmp dword [0xa8d9ec], eax
jbe 0x8c4059
mov eax, dword [0xa8d9d8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0xec]
lea esi, [ebp - 0xec]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0xec], eax
jbe 0x8c407e
mov esi, dword [ebp - 0xec]
test edx, edx
je 0x8c40d9
sub edi, edx
jb 0x8c40e1
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
mov byte [ebp - 0x24], al
nop
nop
movzx eax, byte [ebp - 0x24]
cmp byte [esi + edi], al
jne 0x8c40d2
nop
mov eax, dword [0xa77708]
mov ecx, dword [0xa776e0]
sub ecx, dword [ebp - 0x30]
add ecx, eax
lea eax, [esi + edi]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xffffffff
mov ebx, edx
call dword [0xa37360]
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x2c]
call ecx
mov edx, ebx
add esp, 0xc
test eax, eax
je 0x8c40d9
test edi, edi
je 0x8c40e1
dec edi
jmp 0x8c4090
test edi, edi
je 0x8c4189
nop
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x44]
mov esi, dword [ecx + ebx]
mov eax, dword [ebp - 0x94]
cmp esi, dword [ecx + eax]
je 0x8c4174
mov eax, dword [ebp - 0x34]
mov dword [esi + eax], 0
mov eax, dword [ebp - 0x3c]
mov dword [esi + eax], 0
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
mov edi, dword [ebp - 0x90]
push edi
lea eax, [ebp - 0xec]
push eax
push esi
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
add dword [eax + ebx], edi
jmp 0x8c41dc
nop
mov dword [ebp - 0xec], 0
push 0
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
jne 0x8c3f36
jmp 0x8c3f57
nop
mov dword [ebp - 0x10], 0x11
lea eax, [ebp - 0xec]
push eax
push esi
call fcn.008c4dd0
nop
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax - 0xec]
cmp eax, dword [ebp - 0x38]
jbe 0x8c41dc
nop
mov ecx, dword [ebp - 0xec]
lea esi, [eax + 1]
cmp esi, dword [ebp - 0x9c]
jbe 0x8c41d2
mov edi, dword [ebp - 0x88]
mov edx, dword [ecx + edi]
mov esi, edi
xor esi, ecx
and ecx, edi
lea ecx, [esi + ecx*2]
sub ecx, edx
cmp ecx, dword [ebp - 0x8c]
jae 0x8c4772
add eax, dword [ebp - 0x78]
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
jmp 0x8c471f
mov dword [ebp + edi - 0x70], eax
mov edx, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
call dword [0xa37360]
push edi
push esi
lea eax, [ebp - 0x70]
push eax
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x70], 0
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x8c4227
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
test edi, edi
je 0x8c4255
xor ebx, ebx
nop word cs:[eax + eax]
movsx eax, byte [esi + ebx]
push eax
call fcn.009077c9
add esp, 4
mov byte [esi + ebx], al
inc ebx
cmp edi, ebx
jne 0x8c4240
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov edx, dword [ecx + eax]
mov eax, dword [ebp - 0x94]
cmp edx, dword [ecx + eax]
je 0x8c42d1
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], 0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x24], edx
mov dword [edx + ecx], 0
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x8c428f
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp + esi - 0x70]
cmp edi, esi
jae 0x8c42e8
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
push esi
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x24]
push ebx
call ecx
add esp, 0xc
mov ecx, 0xf
jmp 0x8c4389
nop
mov dword [ebp - 0x10], 0xf
lea eax, [ebp - 0x70]
push eax
push edx
call fcn.008c5b50
jmp 0x8c43a2
mov ecx, edi
or ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], edi
test edi, edi
cmovs ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], 0xf
nop
mov dword [ebp - 0x84], ecx
jbe 0x8c4334
nop
mov eax, dword [ebp - 0x78]
add eax, ecx
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
add esi, dword [ebp - 0xa0]
and esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x88]
mov dword [esi + ecx], eax
jmp 0x8c4342
lea eax, [ecx + 1]
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x24]
mov dword [ebx], esi
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov edi, dword [ebp - 0x40]
lea eax, [edi + 1]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
push dword [ebp - 0xf0]
push dword [ebp - 0x2c]
push esi
call ecx
add esp, 0xc
nop
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x84]
nop
mov dword [ebx + esi], edi
mov eax, dword [ebp - 0x3c]
mov dword [ebx + eax], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x90]
add dword [eax + ecx], edx
nop
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax - 0x70]
cmp eax, dword [ebp - 0x38]
jbe 0x8c43f8
nop
mov ecx, dword [ebp - 0x70]
lea esi, [eax + 1]
cmp esi, dword [ebp - 0x9c]
jbe 0x8c43ee
nop
mov esi, dword [ebp - 0x88]
mov edx, dword [ecx + esi]
add ecx, esi
sub ecx, edx
cmp ecx, dword [ebp - 0x8c]
jae 0x8c477f
mov ecx, eax
mov esi, dword [ebp - 0x78]
xor ecx, esi
and eax, esi
add eax, eax
mov esi, eax
xor esi, ecx
and eax, ecx
lea esi, [esi + eax*2]
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
nop
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x46c]
test eax, eax
je 0x8c471f
lea esi, [eax + ebp]
add esi, 0xfffffb94
mov edi, dword [ebp - 0x34]
mov dword [ebp + edi - 0x70], 0
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax - 0x70], ebx
mov byte [ebp - 0x70], 0
push esi
call fcn.00903f50
add esp, 4
cmp eax, ebx
jbe 0x8c4461
nop
mov dword [ebp - 0x10], 0xd
sub esp, 0xc
movzx ecx, byte [ebp - 0x234]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x70]
call fcn.006704d0
jmp 0x8c4495
mov dword [ebp + edi - 0x70], eax
mov edx, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
call dword [0xa37360]
push edi
push esi
lea eax, [ebp - 0x70]
push eax
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x70], 0
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x8c44a7
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
test edi, edi
je 0x8c44d5
xor ebx, ebx
nop word cs:[eax + eax]
movsx eax, byte [esi + ebx]
push eax
call fcn.009077c9
add esp, 4
mov byte [esi + ebx], al
inc ebx
cmp edi, ebx
jne 0x8c44c0
mov edx, dword [0xa8d9e8]
mov dword [ebp - 0x40], 0xa8d9d8
mov eax, dword [ebp - 0x38]
cmp dword [0xa8d9ec], eax
jbe 0x8c44f5
mov eax, dword [0xa8d9d8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0x70], eax
mov eax, dword [ebp - 0x70]
lea esi, [ebp - 0x70]
mov dword [ebp - 0x84], eax
cmova esi, eax
test edx, edx
je 0x8c4579
sub edi, edx
jb 0x8c4581
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
mov byte [ebp - 0x24], al
nop word cs:[eax + eax]
nop
movzx eax, byte [ebp - 0x24]
cmp byte [esi + edi], al
jne 0x8c4572
nop
mov eax, dword [0xa77708]
mov ecx, dword [0xa776e0]
sub ecx, dword [ebp - 0x30]
add ecx, eax
lea eax, [esi + edi]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xffffffff
mov ebx, edx
call dword [0xa37360]
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x2c]
call ecx
mov edx, ebx
add esp, 0xc
test eax, eax
je 0x8c4579
test edi, edi
je 0x8c4581
dec edi
jmp 0x8c4530
test edi, edi
je 0x8c46c5
nop
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov ebx, dword [ecx + eax]
mov eax, dword [ebp - 0x94]
cmp ebx, dword [ecx + eax]
je 0x8c45f7
mov esi, dword [ebp - 0x34]
mov dword [ebx + esi], 0
mov ecx, dword [ebp - 0x3c]
mov dword [ebx + ecx], 0
mov edx, dword [ebp + esi - 0x70]
mov eax, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0x70], eax
lea ecx, [ebp - 0x70]
mov edi, dword [ebp - 0x84]
cmovbe edi, ecx
mov dword [ebp - 0x24], edx
cmp edx, esi
jae 0x8c460e
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
push esi
push edi
push ebx
call ecx
add esp, 0xc
mov ecx, 0xf
jmp 0x8c46a9
nop
mov dword [ebp - 0x10], 0xe
lea eax, [ebp - 0x70]
push eax
push ebx
call fcn.008c5b50
jmp 0x8c46c5
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x84], edi
mov edx, dword [ebp - 0x24]
mov ecx, edx
or ecx, eax
test edx, edx
cmovs ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], 0xe
nop
mov dword [ebp - 0x40], ecx
jbe 0x8c465f
nop
mov eax, dword [ebp - 0x78]
add eax, ecx
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
add esi, dword [ebp - 0xa0]
and esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x88]
mov dword [esi + ecx], eax
jmp 0x8c466d
lea eax, [ecx + 1]
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], esi
mov eax, dword [0xa776f8]
mov ecx, dword [0xa776e8]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov eax, dword [ebp - 0x24]
lea edi, [eax + 1]
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
push edi
push dword [ebp - 0x84]
push esi
call ecx
add esp, 0xc
nop
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
nop
mov eax, dword [ebp - 0x24]
mov dword [ebx + esi], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + eax], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x90]
add dword [eax + ecx], edx
nop
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax - 0x70]
cmp eax, dword [ebp - 0x38]
jbe 0x8c471f
nop
mov ecx, dword [ebp - 0x70]
mov edx, eax
xor edx, 1
mov esi, eax
not esi
and esi, 0x7ffffffe
or esi, edx
add esi, esi
neg esi
add edx, esi
add edx, 0xfffffffe
cmp edx, dword [ebp - 0x9c]
jbe 0x8c4715
nop
mov edx, dword [ebp - 0x88]
mov esi, dword [ecx + edx]
add ecx, edx
sub ecx, esi
cmp ecx, dword [ebp - 0x8c]
jae 0x8c478c
add eax, dword [ebp - 0x78]
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0xa8]
cmp eax, 0xffffffff
je 0x8c3680
nop
mov dword [ebp - 0x10], 0xa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x8c3680
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0x460
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [ebp - 0x10], 3
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 7
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 8
call fcn.00900ce1
nop dword [eax]
push ebp
sub esp, 0x20
add ebp, 0xc
mov dword [ebp - 0x1c], esp
nop
mov dword [ebp - 0x10], 6
push 2
call fcn.00904618
add esp, 4
mov dword [ebp - 0x2c], eax
nop
mov esi, dword [ebp - 0x70]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x44]
mov edi, dword [eax + ecx]
mov ecx, edi
call dword [0xa37360]
mov ecx, esi
call edi
nop
push dword [ebp - 0x2c]
push eax
call fcn.00909a90
add esp, 8
mov eax, 0x8c4742
add esp, 0x20
pop ebp
ret