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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10bc
call fcn.004aa400
push ebx
push esi
lea eax, [ebp + 8]
push edi
push eax
mov dword [ebp - 0x28], ecx
call fcn.0043dae7
pop ecx
push 5
lea ecx, [ebp - 0x18]
call fcn.00443f79
push 0x14
lea ecx, [ebp - 0x68]
call fcn.00443f79
lea ecx, [ebp - 0x54]
call fcn.00443f5b
mov esi, dword [ebp + 8]
mov ax, word [esi]
xor ebx, ebx
cmp ax, 0x2d
mov dword [ebp - 4], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x34], ebx
mov cl, 0x2a
jne 0x467978
mov cl, al
movsx edi, cl
movzx eax, ax
jmp 0x467ac5
push 3
lea eax, [ebp + 8]
inc esi
push eax
inc esi
push 0x4c6838
mov dword [ebp + 8], esi
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x4679ab
mov dword [ebp - 4], 1
jmp 0x467abf
push 6
lea eax, [ebp + 8]
push eax
push 0x4c6828
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x4679ce
mov dword [ebp - 4], 2
jmp 0x467abf
push 4
lea eax, [ebp + 8]
push eax
push 0x4c681c
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x4679f1
mov dword [ebp - 0x3c], 1
jmp 0x467abf
push 5
lea eax, [ebp + 8]
push eax
push 0x4c6810
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x467a14
mov dword [ebp - 0x3c], 2
jmp 0x467abf
push 5
lea eax, [ebp + 8]
push eax
push 0x4c6804
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x467a37
mov dword [ebp - 0x38], 1
jmp 0x467abf
push 2
pop esi
push esi
lea eax, [ebp + 8]
push eax
push 0x4c67fc
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x467a59
mov dword [ebp - 0x2c], 0x100
jmp 0x467abf
push 3
lea eax, [ebp + 8]
push eax
push 0x4c67f4
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x467a79
mov dword [ebp - 8], 1
jmp 0x467abf
push 4
lea eax, [ebp + 8]
push eax
push 0x4c67e8
call fcn.0043dbdf
add esp, 0xc
test eax, eax
je 0x467a95
mov dword [ebp - 8], esi
jmp 0x467abf
push 0xffffffffffffffff
lea eax, [ebp + 8]
push eax
push 0x4c67e0
call fcn.00445f31
add esp, 0xc
test al, al
je 0x467ab5
mov dword [ebp - 0x34], 1
jmp 0x467abf
lea eax, [ebp + 8]
push eax
call fcn.00408ddd
pop ecx
mov esi, dword [ebp + 8]
movzx eax, word [esi]
cmp edi, eax
je 0x467983
push 0x3d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov ecx, dword [ebp - 0x28]
add esp, 0xc
push ebx
lea eax, [ebp - 0x18]
push eax
call fcn.00402eb0
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
mov esi, eax
jne 0x467b0e
lea esi, [eax + 2]
push ebx
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], esi
call fcn.00446d58
add esp, 0xc
mov eax, dword [ebp - 0x18]
cmp word [eax], bx
jne 0x467b20
mov ebx, 0x80070057
jmp 0x468559
cmp dword [ebp - 4], 2
jne 0x467b58
push 2
lea ecx, [ebp - 0x18]
call fcn.00443fa0
mov eax, dword [ebp - 0x18]
push esi
mov word [eax + 2], 0x3a
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_SetVolumeLabelW]
test eax, eax
jne 0x468559
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
jmp 0x468559
mov eax, dword [ebp - 0x68]
cmp word [eax], 0x3f
jne 0x467bf1
push 0x400008
lea ecx, [ebp - 8]
call fcn.00443f79
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 0x467bcb
cmp esi, edx
jae 0x467bcb
push 2
pop ecx
jmp 0x467baa
mov word [edi], ax
add edi, ecx
xor eax, eax
mov ax, word [esi]
add esi, ecx
cmp ax, bx
jne 0x467ba3
cmp word [esi], bx
je 0x467bcb
mov word [edi], 0xd
add edi, ecx
mov word [edi], 0xa
add edi, ecx
cmp esi, edx
jb 0x467baa
push dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
mov word [edi], bx
push dword [ebp - 0x18]
call fcn.00443666
cmp dword [ebp - 0x2c], ebx
jg 0x467be9
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
lea ecx, [ebp - 8]
jmp 0x468554
push eax
call fcn.00412ae5
cmp dword [ebp - 0x34], ebx
mov esi, eax
pop ecx
mov dword [ebp - 0x40], esi
je 0x467d56
cmp word [esi], bx
je 0x467c4c
mov ax, word [esi + 2]
cmp ax, bx
je 0x467c20
cmp ax, 0x3a
jne 0x467c4c
cmp word [esi + 4], bx
jne 0x467c4c
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 - 0x18]
lea ecx, [ebp - 0x10]
mov dword [ebp + 8], eax
call fcn.00443f5b
lea ecx, [ebp - 4]
call fcn.00443f5b
lea ecx, [ebp - 8]
call fcn.00443f5b
push ebx
push 0x2c
pop edi
push edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00438e04
push ebx
push edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00438e04
push ebx
push edi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00438e04
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
mov cx, word [ecx]
mov ax, word [eax]
neg cx
lea edx, [ebp - 0x14]
sbb ecx, ecx
and ecx, edx
push ecx
mov cx, ax
neg cx
lea edx, [ebp - 0x30]
sbb ecx, ecx
and ecx, edx
neg ax
push ecx
lea ecx, [ebp - 0x20]
sbb eax, eax
and eax, ecx
push eax
push esi
call fcn.00413ec5
mov esi, eax
mov eax, dword [ebp - 0x10]
add esp, 0x40
cmp word [eax], bx
je 0x467cf2
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.00443666
mov eax, dword [ebp - 4]
cmp word [eax], bx
je 0x467d06
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.00443666
mov eax, dword [ebp - 8]
cmp word [eax], bx
je 0x467d1a
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.00443666
cmp esi, ebx
je 0x467d26
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
lea ecx, [ebp - 0x14]
call fcn.0043db4f
lea ecx, [ebp - 0x30]
call fcn.0043db4f
lea ecx, [ebp - 0x20]
call fcn.0043db4f
lea ecx, [ebp - 8]
call fcn.0043db4f
lea ecx, [ebp - 4]
call fcn.0043db4f
lea ecx, [ebp - 0x10]
jmp 0x468554
mov eax, esi
call fcn.00449365
mov edi, 0x517
push edi
lea ecx, [ebp - 0x24]
mov esi, eax
call fcn.00443f79
mov eax, dword [ebp - 0x24]
add eax, 0x61c
cmp dword [ebp - 8], ebx
mov dword [ebp - 0x34], eax
je 0x467e4b
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 - 0x38], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
jl 0x467e27
mov ecx, eax
xor esi, esi
mov dword [ebp + 8], ecx
cmp word [eax], bx
mov dword [ebp - 4], eax
je 0x467e27
mov dx, word [ecx]
inc ecx
inc ecx
test dx, dx
mov dword [ebp + 8], ecx
jne 0x467db2
inc esi
cmp word [ecx], bx
jne 0x467db2
cmp esi, 1
jle 0x467e27
sub ecx, eax
sar ecx, 1
lea edx, [ecx + esi]
cmp edx, edi
mov dword [ebp - 0x2c], ecx
jle 0x467dea
add edx, 2
push edx
lea ecx, [ebp - 0x24]
call fcn.00443fa0
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 0x467e22
cmp ecx, dword [ebp + 8]
jbe 0x467e15
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 0x467dfc
mov word [ecx], 0xd
mov word [ecx + 2], 0xa
dec ecx
dec ecx
cmp ecx, dword [ebp + 8]
ja 0x467e01
push dword [ebp - 4]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x18]
call fcn.00443666
cmp dword [ebp - 0x38], ebx
jne 0x468551
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
jmp 0x468551
test byte [ebp - 4], 1
je 0x468461
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
add eax, 0x412
mov dword [ebp - 0xc], eax
mov dword [eax], ebx
mov ax, word [esi]
cmp ax, bx
je 0x467e98
mov cx, word [esi + 2]
cmp cx, bx
je 0x467e81
cmp cx, 0x3a
jne 0x467e98
cmp word [esi + 4], bx
jne 0x467e98
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 0x4c67b8
push esi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 8], 1
call dword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
test eax, eax
mov edi, 0x208
je 0x467efe
push 0x104
push dword [ebp - 0xc]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x58]
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 0x467eed
mov dword [ebp - 8], ebx
jmp 0x467f84
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x467f84
mov eax, dword [ebp - 0xc]
push ebx
push 0x4d81f8
push 0x4bcffc
push 0x4c6798
mov dword [eax], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
call fcn.0043ef59
add esp, 0x10
cmp dword [0x4d81f8], ebx
je 0x467f84
push ebx
push ebx
push 3
push ebx
push 7
push 0x80000000
push dword [ebp - 0x40]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
call fcn.0040569f
push 0x104
push dword [ebp - 0xc]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
push dword [ebp - 0x24]
push dword [ebp - 0x14]
call dword [0x4d81f8]
test eax, eax
je 0x467f73
mov dword [ebp - 8], ebx
jmp 0x467f7c
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x14]
call fcn.00402cb5
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x3c]
mov dword [ebp + 8], eax
call fcn.00443f5b
lea ecx, [ebp - 0x34]
call fcn.00443f5b
lea ecx, [ebp - 0x40]
call fcn.00443f5b
lea ecx, [ebp - 0x64]
call fcn.00443f5b
lea ecx, [ebp - 0x60]
call fcn.00443f5b
lea ecx, [ebp - 0x14]
call fcn.00443f5b
push 0x2c
pop edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x468063
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x468063
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x468063
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x468063
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov eax, dword [ebp + 8]
add esp, 0xc
cmp word [eax], bx
je 0x468063
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
add esp, 0xc
mov eax, dword [ebp - 0x14]
cmp word [eax], bx
je 0x4683db
push dword [ebp - 0xc]
mov edi, dword [sym.imp.KERNEL32.DLL_lstrcmpW]
or dword [ebp - 0x10], 0xffffffff
push 0x4c3128
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], 0x200
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0x4c6774
mov word [ebp - 0x10bc], bx
mov dword [ebp - 0x1070], ebx
mov dword [ebp - 0x106c], ebx
call edi
test eax, eax
je 0x4681b5
push dword [ebp - 0xc]
push 0x4c6768
call edi
test eax, eax
je 0x4681b5
push dword [ebp - 0xc]
push 0x4c311c
call edi
test eax, eax
jne 0x4680e2
mov dword [ebp - 0x10], 0x43
jmp 0x4681bc
push dword [ebp - 0xc]
push 0x4c675c
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x468100
mov dword [ebp - 0x10], 0x64
jmp 0x4681bc
push dword [ebp - 0xc]
push 0x4c3104
call edi
test eax, eax
jne 0x468128
mov dword [ebp - 0x10], 0x48
mov dword [ebp - 4], 2
mov dword [ebp - 0x20], 0x4c6718
jmp 0x4681bc
push 3
push dword [ebp - 0xc]
push 0x4c670c
call dword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
test eax, eax
jne 0x468167
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 6]
push eax
call fcn.004439f7
add esp, 4
test al, al
je 0x468167
mov dword [ebp - 0x10], 0x468
mov dword [ebp - 4], 3
mov dword [ebp - 0x20], 0x4c6680
jmp 0x4681bc
push dword [ebp - 0xc]
push 0x4c30f8
call edi
test eax, eax
je 0x468197
push dword [ebp - 0xc]
push 0x4c6678
call edi
test eax, eax
je 0x468197
push 3
push dword [ebp - 0xc]
push 0x4c6668
call dword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
test eax, eax
jne 0x4681bc
mov dword [ebp - 0x38], 0x800
mov dword [ebp - 0x10], 0x833e
mov dword [ebp - 4], 4
mov dword [ebp - 0x20], 0x4c6618
jmp 0x4681bc
mov dword [ebp - 0x10], 0x27
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
dec eax
cmp eax, ebx
jle 0x468207
push 0x5c
pop ecx
cmp word [esi + eax*2], cx
jne 0x4681d6
mov word [esi + eax*2], bx
dec eax
cmp eax, ebx
jle 0x468207
cmp word [esi + 2], 0x3a
jne 0x468207
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 - 0x30]
mov dword [ebp - 0x30], ebx
call fcn.0040569f
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x10], esi
jl 0x468243
mov eax, dword [ebp - 0x10]
cdq
idiv esi
push ebx
imul eax, esi
cdq
push edx
push eax
push dword [ebp - 0x30]
call fcn.0043edf6
add esp, 0x10
push ebx
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0x1070]
push eax
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp - 0x2c], ebx
je 0x4683c1
mov eax, dword [ebp - 0x10]
cdq
idiv esi
cmp dword [ebp - 4], 4
lea esi, [ebp + edx - 0x1070]
jne 0x46829d
mov edi, esi
push 8
lea esi, [ebp - 0x1084]
mov eax, esi
push ebx
push eax
mov byte [edi + 0x10], bl
call fcn.004aa020
mov eax, esi
push eax
push edi
call fcn.004493fd
add esp, 0x14
mov eax, dword [ebp - 4]
cmp eax, 1
jg 0x4682d0
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 - 0x20]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x18
jmp 0x4683c1
cmp eax, 2
jne 0x468314
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 - 0x20]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x28
jmp 0x4683c1
cmp eax, 3
jne 0x46837d
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 - 0x20]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x48
jmp 0x4683c1
cmp eax, 4
jne 0x4683c1
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 - 0x20]
lea eax, [ebp - 0x10bc]
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x2c
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x10bc]
push eax
push dword [ebp - 0x14]
call fcn.00443666
lea ecx, [ebp - 0x30]
call fcn.00402cb5
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x3c]
mov ecx, esi
call fcn.00443666
push 0x4c60ec
push dword [ebp - 0x34]
push dword [ebp - 0x70]
push esi
call fcn.00446559
push dword [ebp - 0x40]
push dword [ebp - 0x58]
push esi
call fcn.00446583
push 0x4c0564
push dword [ebp - 0x60]
push dword [ebp - 0x5c]
push esi
call fcn.00446559
add esp, 0x2c
push dword [ebp - 0xc]
mov ecx, esi
push dword [ebp - 0x64]
call fcn.00443666
lea ecx, [ebp - 0x14]
call fcn.0043db4f
lea ecx, [ebp - 0x60]
call fcn.0043db4f
lea ecx, [ebp - 0x64]
call fcn.0043db4f
lea ecx, [ebp - 0x40]
call fcn.0043db4f
lea ecx, [ebp - 0x34]
call fcn.0043db4f
lea ecx, [ebp - 0x3c]
call fcn.0043db4f
mov ebx, dword [ebp - 8]
jmp 0x468551
mov dword [ebp + 8], esi
cmp word [esi], bx
mov byte [ebp - 0x19], 1
jne 0x468471
mov cl, 0x7c
jmp 0x468498
push esi
push 0x4c6610
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x468496
push esi
push 0x4c1270
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x4684bd
mov byte [ebp - 0x19], bl
mov cl, 0x20
mov eax, dword [ebp - 0x2c]
or eax, dword [ebp - 0x38]
push eax
movsx eax, byte [ebp - 0x19]
push dword [ebp - 0x3c]
push eax
movsx ax, cl
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00452973
add esp, 0x14
jmp 0x468545
cmp word [esi + 2], 0x3a
jne 0x4684cc
mov eax, esi
mov word [esi + 4], bx
jmp 0x468545
mov esi, dword [ebp - 0x34]
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 0x468528
cmp word [ecx + 2], di
jne 0x468528
cmp word [ecx + 4], 0x3f
jne 0x468528
cmp word [ecx + 6], di
jne 0x468528
mov eax, ecx
add ecx, 8
mov dword [ebp + 8], ecx
mov dx, word [ecx]
cmp dx, bx
je 0x468545
cmp dx, di
je 0x46851e
inc ecx
inc ecx
mov dword [ebp + 8], ecx
mov dx, word [ecx]
cmp dx, bx
jne 0x46850c
cmp word [ecx], bx
je 0x468545
mov word [ecx], bx
jmp 0x468545
push 5
lea ecx, [ebp - 0x54]
call fcn.00443fa0
mov cx, word [esi]
mov eax, dword [ebp - 0x54]
mov word [eax], cx
mov word [eax + 2], 0x3a
mov word [eax + 4], bx
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x18]
call fcn.00443666
lea ecx, [ebp - 0x24]
call fcn.0043db4f
lea ecx, [ebp - 0x54]
call fcn.0043db4f
lea ecx, [ebp - 0x68]
call fcn.0043db4f
lea ecx, [ebp - 0x18]
call fcn.0043db4f
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 8