Function at 0x46c764
Capabilities:
Get common file path
Get disk information
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10bc
call fcn.004b4900
push ebx
push esi
lea eax, [ebp + 8]
push edi
push eax
mov dword [ebp - 0x30], ecx
call fcn.0043fe57
pop ecx
push 5
lea ecx, [ebp - 0x1c]
call fcn.004465ac
push 0x14
lea ecx, [ebp - 0x64]
call fcn.004465ac
lea ecx, [ebp - 0x58]
call fcn.0044658e
mov esi, dword [ebp + 8]
mov ax, word [esi]
xor ebx, ebx
cmp ax, 0x2d
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], ebx
mov cl, 0x2a
jne 0x46c7c7
mov cl, al
movsx edi, cl
movzx eax, ax
cmp edi, eax
jne 0x46c9f3
push 3
lea eax, [ebp + 8]
inc esi
push eax
inc esi
push 0x4d0ed0
mov dword [ebp + 8], esi
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c7fd
mov dword [ebp - 4], 1
jmp 0x46c9d3
push 6
lea eax, [ebp + 8]
push eax
push str.setvol
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c820
mov dword [ebp - 4], 2
jmp 0x46c9d3
push 4
lea eax, [ebp + 8]
push eax
push str.idle
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c843
mov dword [ebp - 0xc], 1
jmp 0x46c9d3
push 5
lea eax, [ebp + 8]
push eax
push str.idlec
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c866
mov dword [ebp - 0xc], 2
jmp 0x46c9d3
push 6
push dword [ebp + 8]
push str.idlec:
call fcn.00441277
add esp, 0xc
test al, al
je 0x46c887
push 2
pop eax
add dword [ebp + 8], eax
mov dword [ebp - 0xc], eax
jmp 0x46c8a4
push 5
push dword [ebp + 8]
push str.idle:
call fcn.00441277
add esp, 0xc
test al, al
je 0x46c8e2
mov dword [ebp - 0xc], 1
add dword [ebp + 8], 0xa
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x10], esi
call fcn.00405c44
mov eax, dword [ebp + 8]
cmp word [eax], bx
pop ecx
je 0x46c8c7
mov word [eax], bx
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
cmp word [esi], bx
pop ecx
jne 0x46c9d3
mov dword [ebp - 0x10], ebx
jmp 0x46c9d3
push 5
lea eax, [ebp + 8]
push eax
push str.rsort
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c905
mov dword [ebp - 0x3c], 0xff
jmp 0x46c9d3
push 4
lea eax, [ebp + 8]
push eax
push str.sort
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c928
mov dword [ebp - 0x3c], 1
jmp 0x46c9d3
push 2
pop esi
push esi
lea eax, [ebp + 8]
push eax
push 0x4d0e78
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c94d
mov dword [ebp - 0x2c], 0x100
jmp 0x46c9d3
push 3
lea eax, [ebp + 8]
push eax
push 0x4d0e70
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c96d
mov dword [ebp - 8], 1
jmp 0x46c9d3
push 4
lea eax, [ebp + 8]
push eax
push str.devs
call fcn.0043ff3c
add esp, 0xc
test eax, eax
je 0x46c989
mov dword [ebp - 8], esi
jmp 0x46c9d3
push 5
lea eax, [ebp + 8]
push eax
push str.link_
call fcn.004485c7
add esp, 0xc
test al, al
je 0x46c9a9
mov dword [ebp - 0x38], 1
jmp 0x46c9d3
push 1
lea eax, [ebp + 8]
push eax
push 0x4d0e58
call fcn.004485c7
add esp, 0xc
test al, al
je 0x46c9c9
mov dword [ebp - 0x28], 0x200
jmp 0x46c9d3
lea eax, [ebp + 8]
push eax
call fcn.00408f31
pop ecx
mov esi, dword [ebp + 8]
movzx eax, word [esi]
cmp edi, eax
je 0x46c7d5
cmp dword [ebp - 0x28], ebx
je 0x46c9f3
cmp dword [ebp - 0xc], ebx
je 0x46c9f3
cmp dword [ebp - 0x10], ebx
jne 0x46c9f3
mov dword [ebp - 0x28], ebx
push 0x3d
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov ecx, dword [ebp - 0x30]
add esp, 0xc
push ebx
lea eax, [ebp - 0x1c]
push eax
call fcn.00402f5e
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
mov esi, eax
jne 0x46ca34
lea esi, [eax + 2]
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], esi
call fcn.004494ac
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp word [eax], bx
jne 0x46ca46
mov ebx, 0x80070057
jmp 0x46d48c
cmp dword [ebp - 4], 2
jne 0x46ca7e
push 2
lea ecx, [ebp - 0x1c]
call fcn.004465d3
mov eax, dword [ebp - 0x1c]
push esi
mov word [eax + 2], 0x3a
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
test eax, eax
jne 0x46d48c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x46d48c
mov eax, dword [ebp - 0x64]
cmp word [eax], 0x3f
jne 0x46cb17
push 0x400008
lea ecx, [ebp - 8]
call fcn.004465ac
mov esi, dword [ebp - 8]
mov edi, esi
push 0x1ffffe
add esi, 0x400008
push esi
mov eax, edi
mov dword [esi], ebx
push ebx
mov dword [eax], ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp eax, ebx
mov dword [ebp - 0x2c], eax
lea edx, [esi + eax*2]
jle 0x46caf1
cmp esi, edx
jae 0x46caf1
push 2
pop ecx
jmp 0x46cad0
mov word [edi], ax
add edi, ecx
xor eax, eax
mov ax, word [esi]
add esi, ecx
cmp ax, bx
jne 0x46cac9
cmp word [esi], bx
je 0x46caf1
mov word [edi], 0xd
add edi, ecx
mov word [edi], 0xa
add edi, ecx
cmp esi, edx
jb 0x46cad0
push dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov word [edi], bx
push dword [ebp - 0x1c]
call fcn.00445c44
cmp dword [ebp - 0x2c], ebx
jg 0x46cb0f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea ecx, [ebp - 8]
jmp 0x46d487
push eax
call fcn.004135f9
cmp dword [ebp - 0x38], ebx
mov esi, eax
pop ecx
mov dword [ebp - 0x40], esi
je 0x46cc7f
cmp word [esi], bx
je 0x46cb72
mov ax, word [esi + 2]
cmp ax, bx
je 0x46cb46
cmp ax, 0x3a
jne 0x46cb72
cmp word [esi + 4], bx
jne 0x46cb72
mov word [ebp - 0x50], 0x5c
mov word [ebp - 0x4e], 0x3f
mov word [ebp - 0x4c], 0x3f
mov word [ebp - 0x4a], 0x5c
mov ax, word [esi]
mov word [ebp - 0x48], ax
mov word [ebp - 0x46], 0x3a
mov word [ebp - 0x44], bx
lea esi, [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xc]
mov dword [ebp + 8], eax
call fcn.0044658e
lea ecx, [ebp - 4]
call fcn.0044658e
lea ecx, [ebp - 8]
call fcn.0044658e
push ebx
push 0x2c
pop edi
push edi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043b04c
push ebx
push edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043b04c
push ebx
push edi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043b04c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], ebx
mov ax, word [eax]
neg ax
lea ecx, [ebp - 0x10]
sbb eax, eax
and eax, ecx
push eax
mov eax, dword [ebp - 4]
mov ax, word [eax]
neg ax
lea ecx, [ebp - 0x34]
sbb eax, eax
and eax, ecx
push eax
mov eax, dword [ebp - 0xc]
mov ax, word [eax]
neg ax
lea ecx, [ebp - 0x18]
sbb eax, eax
and eax, ecx
push eax
push esi
call fcn.0041491a
mov esi, eax
mov eax, dword [ebp - 0xc]
add esp, 0x40
cmp word [eax], bx
je 0x46cc1b
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00445c44
mov eax, dword [ebp - 4]
cmp word [eax], bx
je 0x46cc2f
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00445c44
mov eax, dword [ebp - 8]
cmp word [eax], bx
je 0x46cc43
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00445c44
cmp esi, ebx
je 0x46cc4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea ecx, [ebp - 0x10]
call fcn.0043fe25
lea ecx, [ebp - 0x34]
call fcn.0043fe25
lea ecx, [ebp - 0x18]
call fcn.0043fe25
lea ecx, [ebp - 8]
call fcn.0043fe25
lea ecx, [ebp - 4]
call fcn.0043fe25
lea ecx, [ebp - 0xc]
jmp 0x46d487
mov eax, esi
call fcn.0044c582
mov edi, 0x517
push edi
lea ecx, [ebp - 0x24]
mov esi, eax
call fcn.004465ac
mov eax, dword [ebp - 0x24]
add eax, 0x61c
cmp dword [ebp - 8], ebx
mov dword [ebp - 0x38], eax
je 0x46cd74
mov eax, dword [ebp - 0x24]
push edi
push eax
push esi
mov word [eax], bx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp dword [ebp - 8], 2
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
jl 0x46cd50
mov ecx, eax
xor esi, esi
mov dword [ebp + 8], ecx
cmp word [eax], bx
mov dword [ebp - 4], eax
je 0x46cd50
mov dx, word [ecx]
inc ecx
inc ecx
test dx, dx
mov dword [ebp + 8], ecx
jne 0x46ccdb
inc esi
cmp word [ecx], bx
jne 0x46ccdb
cmp esi, 1
jle 0x46cd50
sub ecx, eax
sar ecx, 1
lea edx, [ecx + esi]
cmp edx, edi
mov dword [ebp - 0x2c], ecx
jle 0x46cd13
add edx, 2
push edx
lea ecx, [ebp - 0x24]
call fcn.004465d3
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
lea ecx, [eax + ecx*2 - 4]
mov dword [ebp + 8], ecx
lea ecx, [ecx + esi*2]
mov word [ecx], bx
jmp 0x46cd4b
cmp ecx, dword [ebp + 8]
jbe 0x46cd3e
mov eax, dword [ebp + 8]
mov dx, word [eax]
mov word [ecx], dx
sub dword [ebp + 8], 2
dec ecx
dec ecx
cmp dx, bx
jne 0x46cd25
mov word [ecx], 0xd
mov word [ecx + 2], 0xa
dec ecx
dec ecx
cmp ecx, dword [ebp + 8]
ja 0x46cd2a
push dword [ebp - 4]
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x1c]
call fcn.00445c44
cmp dword [ebp - 0x40], ebx
jne 0x46d484
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x46d484
test byte [ebp - 4], 1
je 0x46d38e
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
add eax, 0x412
mov dword [ebp - 0x14], eax
mov dword [eax], ebx
mov ax, word [esi]
cmp ax, bx
je 0x46cdc1
mov cx, word [esi + 2]
cmp cx, bx
je 0x46cdaa
cmp cx, 0x3a
jne 0x46cdc1
cmp word [esi + 4], bx
jne 0x46cdc1
lea esi, [ebp - 0x50]
mov word [ebp - 0x50], ax
mov word [ebp - 0x4e], 0x3a
mov word [ebp - 0x4c], 0x5c
mov word [ebp - 0x4a], bx
push 0xc
push str._HarddiskVolume
push esi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 8], 1
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
mov edi, 0x208
je 0x46ce27
push 0x104
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
push dword [ebp - 0x24]
push esi
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x46ce16
mov dword [ebp - 8], ebx
jmp 0x46ceb1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x46ceb1
mov eax, dword [ebp - 0x14]
push 0x4e3010
push 0x4e3220
push str.Kernel32.DLL
push str.GetVolumeInformationByHandleW
mov dword [eax], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
call fcn.0044131f
add esp, 0x10
cmp dword [0x4e3220], ebx
je 0x46ceb1
push ebx
push ebx
push 3
push ebx
push 7
push 0x80000000
push dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
call fcn.00405c6d
push 0x104
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
push dword [ebp - 0x24]
push dword [ebp - 0x10]
call dword [0x4e3220]
test eax, eax
je 0x46cea0
mov dword [ebp - 8], ebx
jmp 0x46cea9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x10]
call fcn.00402d2b
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov dword [ebp + 8], eax
call fcn.0044658e
lea ecx, [ebp - 0x38]
call fcn.0044658e
lea ecx, [ebp - 0x60]
call fcn.0044658e
lea ecx, [ebp - 0x68]
call fcn.0044658e
lea ecx, [ebp - 0x5c]
call fcn.0044658e
lea ecx, [ebp - 0x10]
call fcn.0044658e
push 0x2c
pop edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x46cf90
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x46cf90
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x46cf90
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x46cf90
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x46cf90
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004494ac
add esp, 0xc
mov eax, dword [ebp - 0x10]
cmp word [eax], bx
je 0x46d308
push dword [ebp - 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
or dword [ebp - 0x18], 0xffffffff
push 0x4cd398
mov dword [ebp - 4], 1
mov dword [ebp - 0x40], 0x200
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], str._02X_02X__02X_02X
mov word [ebp - 0x10bc], bx
mov dword [ebp - 0x1070], ebx
mov dword [ebp - 0x106c], ebx
call edi
test eax, eax
je 0x46d0e2
push dword [ebp - 0x14]
push str.FAT16
call edi
test eax, eax
je 0x46d0e2
push dword [ebp - 0x14]
push 0x4cd38c
call edi
test eax, eax
jne 0x46d00f
mov dword [ebp - 0x18], 0x43
jmp 0x46d0e9
push dword [ebp - 0x14]
push str.ExFAT
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46d02d
mov dword [ebp - 0x18], 0x64
jmp 0x46d0e9
push dword [ebp - 0x14]
push 0x4cd374
call edi
test eax, eax
jne 0x46d055
mov dword [ebp - 0x18], 0x48
mov dword [ebp - 4], 2
mov dword [ebp - 0xc], str._02X_02X_02X_02X_02X_02X_02X_02X
jmp 0x46d0e9
push 3
push dword [ebp - 0x14]
push str.EXT2
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x46d094
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 6]
push eax
call fcn.00414d24
add esp, 4
test al, al
je 0x46d094
mov dword [ebp - 0x18], 0x468
mov dword [ebp - 4], 3
mov dword [ebp - 0xc], str._02x_02x_02x_02x__02x_02x__02x_02x__02x_02x__02x_02x_02x_02x_02x_02x
jmp 0x46d0e9
push dword [ebp - 0x14]
push str.CDFS
call edi
test eax, eax
je 0x46d0c4
push dword [ebp - 0x14]
push 0x4d0cf0
call edi
test eax, eax
je 0x46d0c4
push 3
push dword [ebp - 0x14]
push str.ISO9600
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x46d0e9
mov dword [ebp - 0x40], 0x800
mov dword [ebp - 0x18], 0x833e
mov dword [ebp - 4], 4
mov dword [ebp - 0xc], str._02x_02x__02x__02x__02x__02x__02x__02x
jmp 0x46d0e9
mov dword [ebp - 0x18], 0x27
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
cmp eax, ebx
jle 0x46d134
push 0x5c
pop ecx
cmp word [esi + eax*2], cx
jne 0x46d103
mov word [esi + eax*2], bx
dec eax
cmp eax, ebx
jle 0x46d134
cmp word [esi + 2], 0x3a
jne 0x46d134
mov ax, word [esi]
lea esi, [ebp - 0x50]
mov word [ebp - 0x4a], cx
mov word [ebp - 0x4e], cx
mov word [ebp - 0x50], cx
mov word [ebp - 0x4c], 0x2e
mov word [ebp - 0x48], ax
mov word [ebp - 0x46], 0x3a
mov word [ebp - 0x44], bx
push ebx
push 0x80
push 3
push ebx
push 7
push 0x80000000
push esi
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], ebx
call fcn.00405c6d
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x18], esi
jl 0x46d170
mov eax, dword [ebp - 0x18]
cdq
idiv esi
push ebx
imul eax, esi
cdq
push edx
push eax
push dword [ebp - 0x34]
call fcn.00441183
add esp, 0x10
push ebx
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0x1070]
push eax
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x2c], ebx
je 0x46d2ee
mov eax, dword [ebp - 0x18]
cdq
idiv esi
cmp dword [ebp - 4], 4
lea esi, [ebp + edx - 0x1070]
jne 0x46d1ca
mov edi, esi
push 8
lea esi, [ebp - 0x1084]
mov eax, esi
push ebx
push eax
mov byte [edi + 0x10], bl
call fcn.004b4520
mov eax, esi
push eax
push edi
call fcn.0044c61a
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jg 0x46d1fd
movzx eax, byte [esi]
push eax
movzx eax, byte [esi + 1]
push eax
movzx eax, byte [esi + 2]
push eax
movzx eax, byte [esi + 3]
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x46d2ee
cmp eax, 2
jne 0x46d241
movzx eax, byte [esi]
push eax
movzx eax, byte [esi + 1]
push eax
movzx eax, byte [esi + 2]
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 6]
push eax
movzx eax, byte [esi + 7]
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x28
jmp 0x46d2ee
cmp eax, 3
jne 0x46d2aa
movzx eax, byte [esi + 0xf]
push eax
movzx eax, byte [esi + 0xe]
push eax
movzx eax, byte [esi + 0xd]
push eax
movzx eax, byte [esi + 0xc]
push eax
movzx eax, byte [esi + 0xb]
push eax
movzx eax, byte [esi + 0xa]
push eax
movzx eax, byte [esi + 9]
push eax
movzx eax, byte [esi + 8]
push eax
movzx eax, byte [esi + 7]
push eax
movzx eax, byte [esi + 6]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, byte [esi + 2]
push eax
movzx eax, byte [esi + 1]
push eax
movzx eax, byte [esi]
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x48
jmp 0x46d2ee
cmp eax, 4
jne 0x46d2ee
movzx eax, byte [esi + 8]
push eax
movzx eax, byte [esi + 7]
push eax
movzx eax, byte [esi + 6]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, byte [esi + 2]
push eax
movzx eax, byte [esi + 1]
push eax
movzx eax, byte [esi]
push eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x2c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x10bc]
push eax
push dword [ebp - 0x10]
call fcn.00445c44
lea ecx, [ebp - 0x34]
call fcn.00402d2b
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x30]
push dword [ebp - 0x3c]
mov ecx, esi
call fcn.00445c44
push str._08lX
push dword [ebp - 0x38]
push dword [ebp - 0x70]
push esi
call fcn.00448c29
push dword [ebp - 0x60]
push dword [ebp - 0x54]
push esi
call fcn.00448c53
push str.0x_lX
push dword [ebp - 0x5c]
push dword [ebp - 0x28]
push esi
call fcn.00448c29
add esp, 0x2c
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x68]
call fcn.00445c44
lea ecx, [ebp - 0x10]
call fcn.0043fe25
lea ecx, [ebp - 0x5c]
call fcn.0043fe25
lea ecx, [ebp - 0x68]
call fcn.0043fe25
lea ecx, [ebp - 0x60]
call fcn.0043fe25
lea ecx, [ebp - 0x38]
call fcn.0043fe25
lea ecx, [ebp - 0x3c]
call fcn.0043fe25
mov ebx, dword [ebp - 8]
jmp 0x46d484
mov dword [ebp + 8], esi
cmp word [esi], bx
mov byte [ebp - 0x1d], 1
jne 0x46d39e
mov cl, 0x7c
jmp 0x46d3c5
push esi
push 0x4d0c88
call fcn.004412b6
test al, al
pop ecx
pop ecx
jne 0x46d3c3
push esi
push 0x4cb448
call fcn.004412b6
test al, al
pop ecx
pop ecx
je 0x46d3f0
mov byte [ebp - 0x1d], bl
mov cl, 0x20
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x2c]
push dword [ebp - 0x10]
or eax, dword [ebp - 0x3c]
push eax
movsx eax, byte [ebp - 0x1d]
push dword [ebp - 0xc]
push eax
movsx ax, cl
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00456d7d
add esp, 0x18
jmp 0x46d478
cmp word [esi + 2], 0x3a
jne 0x46d3ff
mov eax, esi
mov word [esi + 4], bx
jmp 0x46d478
mov esi, dword [ebp - 0x38]
push esi
push 0x208
mov word [esi], bx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [ebp + 8]
push 0x5c
pop edi
cmp word [ecx], di
jne 0x46d45b
cmp word [ecx + 2], di
jne 0x46d45b
cmp word [ecx + 4], 0x3f
jne 0x46d45b
cmp word [ecx + 6], di
jne 0x46d45b
mov eax, ecx
add ecx, 8
mov dword [ebp + 8], ecx
mov dx, word [ecx]
cmp dx, bx
je 0x46d478
cmp dx, di
je 0x46d451
inc ecx
inc ecx
mov dword [ebp + 8], ecx
mov dx, word [ecx]
cmp dx, bx
jne 0x46d43f
cmp word [ecx], bx
je 0x46d478
mov word [ecx], bx
jmp 0x46d478
push 5
lea ecx, [ebp - 0x58]
call fcn.004465d3
mov cx, word [esi]
mov eax, dword [ebp - 0x58]
mov word [eax], cx
mov word [eax + 2], 0x3a
mov word [eax + 4], bx
mov ecx, dword [ebp - 0x30]
push eax
push dword [ebp - 0x1c]
call fcn.00445c44
lea ecx, [ebp - 0x24]
call fcn.0043fe25
lea ecx, [ebp - 0x58]
call fcn.0043fe25
lea ecx, [ebp - 0x64]
call fcn.0043fe25
lea ecx, [ebp - 0x1c]
call fcn.0043fe25
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 8