Function at 0x494bae
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x58c
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x5c], ecx
call fcn.0043dae7
push 4
pop edi
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c8b60
call fcn.00445f31
xor ebx, ebx
add esp, 0x10
cmp al, bl
mov byte [ebp + 0x43], al
jne 0x494c00
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c8b58
call fcn.00445f31
add esp, 0xc
test al, al
mov byte [ebp + 0x67], 1
jne 0x494c03
mov byte [ebp + 0x67], bl
mov al, byte [ebp + 0x67]
or al, byte [ebp + 0x43]
jne 0x494df7
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c5d84
call fcn.00445f31
add esp, 0xc
test al, al
je 0x494df7
mov esi, dword [ebp + 0x78]
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c8b50
mov dword [ebp + 0x34], ebx
call fcn.00445f31
add esp, 0xc
test al, al
je 0x494c4e
mov dword [ebp + 0x34], 0x80000000
jmp 0x494c69
push 6
lea eax, [ebp + 0x78]
push eax
push 0x4c8b48
call fcn.00445f31
add esp, 0xc
test al, al
je 0x494d8f
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x1c], ebx
call fcn.00443f5b
mov ecx, dword [ebp + 0x5c]
push 1
push ebx
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x78]
call fcn.004537c3
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x78], eax
push 5
lea eax, [ebp + 0x78]
push eax
push 0x4c8b40
mov dword [ebp + 0x7c], ebx
call fcn.00445f31
mov ecx, dword [ebp + 0x78]
add esp, 0xc
cmp ecx, ebx
je 0x494cba
mov dx, word [ecx]
cmp dx, 0x2d
je 0x494cba
cmp dx, 0x5c
je 0x494cba
mov al, 1
cmp al, bl
je 0x494cd6
push 0xd
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x7c]
push eax
mov dword [ebp + 0x7c], ecx
call fcn.00419ccc
add esp, 0xc
mov dword [ebp + 0x78], eax
push 8
lea eax, [ebp + 0x78]
push eax
xor esi, esi
push 0x4c8b34
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x28], ebx
call fcn.00445f31
add esp, 0xc
test al, al
je 0x494d1c
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2a
jne 0x494d0a
add dword [ebp + 0x78], 2
push 0x3d
pop esi
mov dword [ebp + 0x28], ebx
jmp 0x494d1c
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00450152
mov esi, dword [ebp + 0x24]
pop ecx
pop ecx
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x3c], eax
push 0xd
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00419ccc
add esp, 0xc
mov dword [ebp + 0x78], eax
xor edi, edi
cmp word [eax], bx
je 0x494d40
mov edi, eax
lea ecx, [ebp + 0x68]
call fcn.00443f5b
push ebx
xor eax, eax
xor ecx, ecx
or eax, ecx
push eax
and esi, 0xfeffff
or esi, dword [ebp + 0x34]
lea eax, [ebp + 0x68]
push esi
push edi
push eax
push dword [ebp + 0x3c]
call fcn.0043b689
mov ecx, dword [ebp + 0x5c]
add esp, 0x18
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
call fcn.00443666
lea ecx, [ebp + 0x68]
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
xor eax, eax
jmp 0x495b44
movzx esi, word [esi]
mov eax, esi
or eax, 0x20
cmp ax, 0x61
jb 0x494da3
cmp ax, 0x7a
jbe 0x494dc0
mov eax, esi
call fcn.00443a61
test al, al
jne 0x494dc0
cmp si, 0x61
jb 0x494dba
cmp si, 0x66
jbe 0x494dc0
cmp si, 0x78
jne 0x494dc7
mov eax, 0x4c8b28
jmp 0x494dcc
mov eax, 0x4c8b14
push 0xffffffffffffffff
push eax
lea ecx, [ebp + 0x7c]
call fcn.0044cdaa
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.00422e2f
mov esi, eax
lea ecx, [ebp + 0x7c]
jmp 0x495b3d
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x18]
call fcn.004462b2
mov edi, 0x4bca0c
push edi
lea ecx, [ebp + 0x38]
call fcn.0044cd74
push edi
lea ecx, [ebp + 0x20]
call fcn.0044cd74
push edi
lea ecx, [ebp + 0x1c]
call fcn.0044cd74
push edi
lea ecx, [ebp + 0x48]
call fcn.0044cd74
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2d
mov dword [ebp + 0x44], 0x80000000
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 8], 0x200
mov dword [ebp - 4], ebx
mov al, 0x2a
jne 0x494e5b
add al, 3
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
movzx ecx, word [esi]
movsx eax, al
cmp eax, ecx
mov byte [ebp + 0x6f], bl
mov byte [ebp + 0x57], bl
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0xc], 2
mov dword [ebp + 0x58], eax
jne 0x49507e
lea eax, [esi + 2]
push 5
push eax
push 0x4c8b0c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494ea2
mov byte [ebp + 0x6f], 1
jmp 0x495051
push 3
lea eax, [esi + 2]
push eax
push 0x4c8b08
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494f0e
lea eax, [ebp + 0x78]
add esi, 8
push eax
mov dword [ebp + 0x78], esi
call fcn.0043dae7
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405615
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
pop ecx
je 0x494ee8
mov word [eax], bx
add dword [ebp + 0x78], 2
mov ecx, dword [ebp + 0x5c]
push ebx
push ebx
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.00438c4b
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
jmp 0x49505a
push 1
lea eax, [esi + 2]
push eax
push 0x4c231c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494f2e
mov byte [ebp + 0x57], 1
jmp 0x495051
push 1
lea eax, [esi + 2]
push eax
push 0x4c8b04
call fcn.0043ee93
add esp, 0xc
test al, al
jne 0x494fcf
push 2
lea eax, [esi + 2]
push eax
push 0x4c8b00
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494f6c
or dword [ebp + 0x28], 0xffffffff
mov dword [ebp + 0x4c], ebx
jmp 0x495051
push 1
lea eax, [esi + 2]
push eax
push 0x4c2308
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494f8f
mov dword [ebp + 0x30], 2
jmp 0x495051
push 2
lea eax, [esi + 2]
push eax
push 0x4c8afc
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494fb2
mov dword [ebp + 0x30], 3
jmp 0x495051
push 3
lea eax, [esi + 2]
push eax
push 0x4c8af8
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494fd8
lea eax, [ebp + 0xc]
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x4c], 1
jmp 0x495051
push 1
lea eax, [esi + 2]
push eax
push 0x4c74f8
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x494ff8
mov dword [ebp + 8], 1
jmp 0x495051
push 1
lea eax, [esi + 2]
push eax
push 0x4c8af4
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x495018
mov dword [ebp + 0x10], 2
jmp 0x495051
push 2
lea eax, [esi + 2]
push eax
push 0x4c8af0
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x49507e
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x68]
add esi, 6
push eax
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x68], esi
call fcn.00448ed1
lea eax, [ebp + 0x78]
push eax
call fcn.00405615
add esp, 0xc
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x58], eax
pop ecx
je 0x494e82
jmp 0x49507e
cmp ax, 0x21
jne 0x495086
inc esi
inc esi
mov dword [ebp + 0x34], 1
mov dword [ebp + 0x78], esi
mov ax, word [esi]
cmp ax, bx
jne 0x49506c
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
pop ecx
mov ecx, dword [ebp + 0x5c]
push ebx
push 0x2c
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00438c4b
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x38]
mov cx, word [eax]
push 0x5c
pop edx
cmp cx, dx
mov dword [ebp + 0x50], eax
je 0x4950c2
cmp cx, 0x2f
jne 0x4950e7
cmp cx, dx
jne 0x4950de
cmp word [eax + 2], dx
jne 0x4950de
mov cx, word [eax + 4]
cmp cx, 0x3f
je 0x4950d8
cmp cx, 0x2e
jne 0x4950de
cmp word [eax + 6], dx
je 0x4950e7
mov dword [ebp + 0x58], 1
jmp 0x4950ea
mov dword [ebp + 0x58], ebx
cmp byte [ebp + 0x6f], bl
jne 0x49513c
cmp dword [ebp + 0x58], ebx
je 0x49513c
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov esi, eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x68], eax
lea eax, [esi + 3]
push eax
lea ecx, [ebp + 0x38]
mov dword [ebp + 0x38], ebx
call fcn.00443fa0
mov eax, dword [ebp + 0x38]
inc esi
push esi
push dword [ebp + 0x68]
mov dword [ebp + 0x50], eax
mov word [eax], 0x20
mov word [eax + 2], 0x3a
add eax, 4
push eax
call fcn.004055fd
add esp, 0xc
lea ecx, [ebp + 0x68]
call fcn.0043db4f
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49515e
mov ecx, dword [ebp + 0x5c]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00438c4b
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x20]
or dword [ebp], 0xffffffff
or dword [ebp + 4], 0xffffffff
xor esi, esi
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x60], eax
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x2c], ebx
je 0x495184
cmp byte [ebp + 0x67], bl
je 0x49524e
jmp 0x4951bc
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x495205
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
jne 0x49519d
add dword [ebp + 0x78], 2
push 0x2c
lea eax, [ebp + 0x44]
push eax
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.00456f8f
push eax
call fcn.00446fa5
add esp, 0xc
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x4951de
mov ecx, dword [ebp + 0x5c]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00438c4b
mov dword [ebp + 0x78], eax
cmp byte [ebp + 0x6f], bl
je 0x495205
cmp byte [ebp + 0x67], bl
je 0x49524e
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49523f
add dword [ebp + 0x78], 2
lea eax, [ebp]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004404cb
pop ecx
pop ecx
jmp 0x49523f
cmp byte [ebp + 0x67], bl
je 0x49524e
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49523f
inc eax
inc eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x2c], eax
push 0x2c
lea eax, [ebp + 0x78]
call fcn.004a7e7b
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x495234
mov word [eax], bx
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x2c]
cmp word [eax], bx
je 0x49523f
lea esi, [ebp - 0xc]
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x3c], eax
mov dword [ebp + 0x68], 1
je 0x495251
mov dword [ebp + 0x68], ebx
cmp byte [ebp + 0x67], bl
je 0x49550b
mov edi, 0x4d8cac
push edi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
call fcn.004410a6
push edi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
cmp byte [ebp + 0x57], bl
je 0x495298
cmp dword [ebp + 0x68], ebx
setne al
lea eax, [eax + eax + 0x10000]
push eax
push dword [ebp + 0x50]
call fcn.0044850a
pop ecx
pop ecx
mov ebx, eax
jmp 0x4959f9
cmp dword [ebp + 0x68], ebx
setne al
dec eax
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x58], eax
je 0x4952e4
mov ecx, dword [ebp + 0x5c]
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x60]
mov dword [ebp + 0x58], ebx
call fcn.00410728
mov edx, eax
cmp edx, ebx
jne 0x4952c9
mov ebx, 0x80070057
jmp 0x4959f9
cmp dword [ebp + 4], ebx
jl 0x4952e7
mov eax, dword [ebp]
jg 0x4952d7
cmp eax, ebx
jb 0x4952e7
mov ecx, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [ebp + 4]
mov dword [ecx + 4], eax
jmp 0x4952e7
mov edx, dword [ebp + 0x44]
cmp dword [ebp + 0x30], ebx
je 0x4953b7
mov esi, dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
call fcn.00448ed1
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
pop ecx
pop ecx
je 0x495314
add dword [ebp + 0x60], 2
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00448ed1
mov eax, dword [ebp + 0x24]
or eax, dword [ebp + 0x28]
pop ecx
pop ecx
je 0x495331
mov eax, dword [ebp + 0x60]
mov word [eax], bx
xor eax, eax
inc eax
cmp dword [ebp + 8], ebx
je 0x49533b
xor eax, eax
cmp dword [ebp + 0x28], ebx
jg 0x49539c
jl 0x49534b
cmp dword [ebp + 0x24], 0x100000
jae 0x49539c
cmp word [esi], bx
jne 0x49539c
mov dword [ebp + 0x68], 0x80070057
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, 0x96
push eax
lea ecx, [ebp + 0x7c]
call fcn.00443f79
push dword [ebp + 0x60]
mov ebx, dword [ebp + 0x68]
push ebx
push dword [ebp + 0x58]
push 0x4c8adc
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.DLL_wsprintfW]
mov ecx, dword [ebp + 0x5c]
add esp, 0x14
push dword [ebp + 0x7c]
push dword [ebp + 0x48]
call fcn.00443666
jmp 0x4959f1
push dword [ebp - 8]
push dword [ebp + 0x30]
push eax
push esi
push dword [ebp + 0x50]
call fcn.00450fb5
add esp, 0x14
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x58], eax
jmp 0x495357
mov edi, dword [ebp + 0x60]
mov cx, word [edi]
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
or eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x4c]
cmp cx, bx
je 0x4953dd
cmp cx, 0x2a
je 0x4953dd
or eax, 2
cmp dword [ebp + 0x68], ebx
je 0x4953ea
cmp dword [ebp + 0x28], ebx
jg 0x4953ea
or eax, 1
mov ecx, dword [ebp + 0x48]
cmp word [ecx], bx
jne 0x4953f7
or eax, 0x10000
cmp byte [ebp + 0x6f], bl
jne 0x495403
cmp edx, ebx
jg 0x495403
xor edx, edx
inc edx
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x58]
push ecx
mov cl, byte [ebp + 0x6f]
neg cl
push edx
push edi
sbb ecx, ecx
and ecx, 0x20
or ecx, eax
push ecx
push dword [ebp + 0x50]
call fcn.004946b2
add esp, 0x1c
cmp esi, ebx
mov dword [ebp + 0x68], eax
je 0x4954e3
mov edi, dword [esi]
cmp edi, ebx
je 0x4954e3
mov eax, dword [ebp + 0x2c]
cmp word [eax], 0x7e
jne 0x49545e
add dword [ebp + 0x2c], 2
mov dword [esi], ebx
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push 3
push 1
push ebx
push esi
push eax
push edi
push eax
call dword [sym.imp.KERNEL32.DLL_DuplicateHandle]
mov ecx, dword [esi]
cmp ecx, ebx
je 0x4954e3
mov eax, dword [ebp + 0x2c]
mov ax, word [eax]
cmp ax, 0x2e
je 0x495490
cmp ax, 0x40
jne 0x4954d4
mov edi, dword [ebp + 0x7c]
cmp edi, ebx
jne 0x4954a3
mov edi, dword [ebp + 0x5c]
push edi
push edi
call fcn.00412371
mov edi, dword [edi + 0x28]
cmp edi, ebx
pop ecx
pop ecx
jne 0x4954a3
mov eax, dword [ebp + 0x2c]
add eax, 2
push eax
push dword [esi]
push dword [ebp + 0x5c]
call fcn.004465af
jmp 0x4954e0
mov eax, dword [ebp + 0x2c]
add eax, 2
push eax
lea ecx, [ebp + 0x7c]
call fcn.0044cd74
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push dword [esi]
lea eax, [ebp + 0x7c]
push eax
push dword [edi + 0x194]
mov ecx, edi
call fcn.00444521
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
jmp 0x4954e3
push dword [ebp + 0x2c]
push ecx
push dword [ebp + 0x5c]
call fcn.0042bca9
add esp, 0xc
cmp byte [ebp + 0x6f], bl
je 0x495357
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
je 0x495503
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x5c]
call fcn.004465af
add esp, 0xc
mov ebx, dword [ebp + 0x68]
jmp 0x4959f9
cmp byte [ebp + 0x6f], bl
jne 0x49552d
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
jne 0x49552d
cmp byte [ebp + 0x57], bl
je 0x4952bf
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4952bf
cmp byte [ebp + 0x43], bl
je 0x4955df
push 0xffffffffffffffff
push 0x4c8ac0
lea ecx, [ebp + 0x7c]
call fcn.0044cdaa
push dword [ebp + 0x50]
lea ecx, [ebp + 0x7c]
mov word [ebp - 0xb4], bx
call fcn.00443fc7
mov esi, 0x4c0cfc
push esi
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x60]
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push esi
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
mov eax, dword [ebp + 0x44]
cmp eax, ebx
jl 0x4955a1
cdq
push edx
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.00497eb9
add esp, 0xc
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push esi
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x48]
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push 0x4c0d74
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.00422e2f
mov ebx, eax
jmp 0x4959f1
mov esi, 0x4d8cd4
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push dword [ebp + 0x14]
lea ecx, [ebp + 0x78]
call fcn.0043f042
lea ecx, [ebp + 0x78]
call fcn.0043f029
push esi
mov dword [ebp + 0x30], eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp + 0x30], ebx
jge 0x495624
push 0x4c8aa4
push dword [ebp + 0x5c]
call fcn.00410a74
pop ecx
pop ecx
xor ebx, ebx
inc ebx
jmp 0x4959f9
cmp byte [ebp + 0x6f], bl
je 0x495745
cmp dword [0x4d8284], ebx
jne 0x49563d
push 0x78
pop ebx
jmp 0x4959f9
mov esi, dword [ebp + 0x50]
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.DLL_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x495658
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
cmp word [esi], bx
je 0x4952bf
lea ecx, [ebp + 0x68]
call fcn.00443f5b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2c
jne 0x495694
add dword [ebp + 0x78], 2
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.00456f8f
push ebx
lea ecx, [ebp + 0x68]
push ecx
push eax
call fcn.00446d58
add esp, 0xc
push dword [ebp + 0x68]
call fcn.00412ae5
pop ecx
lea ecx, [ebp + 0x58]
mov edi, eax
call fcn.00443f5b
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x4956cf
cmp word [esi + 2], 0x3a
je 0x4956cf
lea eax, [ebp + 0x58]
push eax
push esi
call fcn.00412e7f
pop ecx
pop ecx
push dword [ebp + 0x58]
lea ecx, [ebp + 0x20]
call fcn.0044cddc
mov esi, dword [eax]
cmp word [edi], bx
je 0x4956f4
cmp word [edi + 2], 0x3a
je 0x4956f4
lea eax, [ebp + 0x58]
push eax
push edi
call fcn.00412e7f
pop ecx
pop ecx
push dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.0044cddc
mov edi, dword [eax]
push 0x20
lea ecx, [ebp + 0x7c]
call fcn.00443f79
mov eax, dword [ebp + 0x7c]
push ebx
push ebx
push dword [ebp + 0x28]
mov word [eax + 4], bx
lea eax, [ebp + 0x7c]
push eax
push edi
push esi
push dword [ebp + 0x5c]
call fcn.00450dd0
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
add esp, 0x1c
add eax, 4
push eax
push dword [ebp + 0x50]
call fcn.00443666
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0x68]
jmp 0x4959f4
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x4c], ebx
jne 0x495939
mov esi, dword [ebp + 0x50]
cmp word [esi], bx
je 0x495939
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
jne 0x495787
push 0x105
lea ecx, [ebp + 0x48]
call fcn.00443fa0
mov eax, dword [ebp + 0x48]
mov word [eax], bx
push dword [ebp + 0x48]
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
cmp dword [0x4d8278], ebx
je 0x49561c
push dword [ebp + 0x60]
call fcn.004a9676
test eax, eax
pop ecx
jne 0x4957be
push dword [ebp + 0x60]
lea ecx, [ebp + 0x7c]
call fcn.0044cd74
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.0041cd41
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
push dword [ebp + 0x60]
call fcn.004a9676
test eax, eax
pop ecx
je 0x49561c
cmp dword [ebp + 0x58], ebx
jne 0x4957e3
push esi
call fcn.004a980e
test eax, eax
pop ecx
je 0x49561c
push 8
pop ecx
xor eax, eax
mov dword [ebp - 0x3c], ebx
lea edi, [ebp - 0x38]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesExW]
test eax, eax
je 0x495806
test byte [ebp - 0x3c], 1
jne 0x495811
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
mov dword [ebp + 0x68], eax
jne 0x495814
mov dword [ebp + 0x68], ebx
cmp dword [ebp + 0x58], ebx
mov dword [ebp + 0x7c], ebx
je 0x495831
cmp dword [ebp + 0x30], ebx
jne 0x495828
mov dword [ebp + 0x7c], 0x100
cmp dword [ebp + 0x34], ebx
je 0x495831
or byte [ebp + 0x7d], 2
xor eax, eax
inc eax
cmp dword [ebp + 0x58], ebx
je 0x495845
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.0047e709
pop ecx
pop ecx
mov edi, dword [ebp + 0x44]
sar eax, 8
movzx esi, al
dec esi
cmp edi, 0x80000000
jne 0x49585a
xor edi, edi
inc edi
push dword [ebp + 0x50]
call fcn.004a980e
test eax, eax
pop ecx
je 0x4958bb
cmp dword [ebp + 0x30], ebx
je 0x495887
cmp edi, ebx
jge 0x495873
xor edi, edi
inc edi
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x50]
push dword [ebp + 0x60]
call fcn.00450c3b
add esp, 0x10
jmp 0x49589e
cmp edi, ebx
jge 0x49588e
xor edi, edi
inc edi
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x50]
push dword [ebp + 0x60]
call dword [0x4d8278]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x60]
push dword [ebp + 0x50]
push 0x4c8a50
push dword [ebp + 0x5c]
call fcn.00410a74
add esp, 0x18
cmp dword [ebp + 0x58], ebx
je 0x4958d2
cmp dword [ebp + 0x34], ebx
jne 0x4958d2
mov eax, dword [ebp + 0x7c]
cmp ax, bx
je 0x4958d2
call fcn.0043f8a3
cmp esi, ebx
jl 0x4958fc
push esi
lea eax, [ebp - 0x104]
push 0x4c8a30
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push ebx
lea eax, [ebp - 0xfc]
push eax
call fcn.00462150
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x1c]
call fcn.0043db4f
lea ecx, [ebp + 0x20]
call fcn.0043db4f
lea ecx, [ebp + 0x38]
call fcn.0043db4f
lea ecx, [ebp - 0x18]
call fcn.0043db4f
xor eax, eax
cmp dword [ebp + 0x4c], ebx
sete al
jmp 0x495b44
lea ecx, [ebp + 0x7c]
call fcn.00443f5b
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x49596c
cmp word [esi + 2], 0x3a
je 0x49596c
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.00412e7f
pop ecx
pop ecx
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x20]
call fcn.0044cddc
mov esi, dword [eax]
mov dword [ebp + 0x60], esi
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x495997
cmp word [eax + 2], 0x3a
je 0x495997
lea ecx, [ebp + 0x7c]
push ecx
push eax
call fcn.00412e7f
pop ecx
pop ecx
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x38]
call fcn.0044cddc
mov eax, dword [eax]
mov dword [ebp + 0x50], eax
or dword [ebp + 0x34], 0xffffffff
cmp word [esi], bx
jne 0x4959d4
cmp word [eax], bx
je 0x4959cf
lea ecx, [ebp + 0x34]
push ecx
lea ecx, [ebp - 0x51c]
push ecx
push edi
lea ecx, [ebp + 0x7c]
push ecx
push eax
push edi
push dword [ebp + 0x5c]
call fcn.00450dd0
add esp, 0x1c
test eax, eax
je 0x4959ec
lea esi, [ebp - 0x314]
mov dword [ebp + 0x60], esi
cmp word [esi], bx
je 0x4959ec
cmp dword [0x4d827c], ebx
jne 0x4959e1
xor ebx, ebx
inc ebx
jmp 0x4959f1
push esi
call fcn.004a9676
test eax, eax
pop ecx
jne 0x495a30
mov ebx, 0x80070057
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x1c]
call fcn.0043db4f
lea ecx, [ebp + 0x20]
call fcn.0043db4f
lea ecx, [ebp + 0x38]
call fcn.0043db4f
lea ecx, [ebp - 0x18]
call fcn.0043db4f
mov eax, ebx
jmp 0x495b44
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
mov dword [ebp + 0x3c], eax
jne 0x495a3e
mov dword [ebp + 0x3c], ebx
cmp word [esi], bx
mov dword [ebp + 0x68], esi
jne 0x495a49
mov dword [ebp + 0x68], ebx
cmp dword [ebp + 0x44], 0x80000000
jne 0x495a55
mov dword [ebp + 0x44], ebx
xor edi, edi
inc edi
cmp dword [ebp + 0x34], ebx
mov esi, edi
jg 0x495aad
cmp dword [ebp + 0x30], ebx
je 0x495a7f
xor eax, eax
cmp dword [ebp + 0x44], ebx
push ebx
setne al
push eax
push dword [ebp + 0x60]
call fcn.00440f4a
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x495aa8
cmp dword [ebp + 0x44], 0x80000000
je 0x495a91
cmp dword [ebp + 0x44], ebx
je 0x495a91
mov eax, edi
jmp 0x495a93
xor eax, eax
push eax
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x68]
call dword [0x4d827c]
mov esi, eax
neg esi
sbb esi, esi
inc esi
cmp dword [ebp + 0x34], ebx
je 0x495b0a
cmp esi, ebx
je 0x495b0a
cmp dword [0x4d8280], ebx
je 0x495b0a
cmp dword [0x4d82b8], ebx
setne al
cmp al, bl
je 0x495ae1
xor eax, eax
cmp dword [ebp + 0x44], ebx
push edi
setne al
push eax
push dword [ebp + 0x60]
call fcn.00440f4a
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x495b0a
cmp dword [ebp + 0x44], 0x80000000
je 0x495af3
cmp dword [ebp + 0x44], ebx
je 0x495af3
mov eax, edi
jmp 0x495af5
xor eax, eax
push eax
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x68]
call dword [0x4d8280]
mov esi, eax
neg esi
sbb esi, esi
inc esi
lea ecx, [ebp + 0x7c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x1c]
call fcn.0043db4f
lea ecx, [ebp + 0x20]
call fcn.0043db4f
lea ecx, [ebp + 0x38]
call fcn.0043db4f
lea ecx, [ebp - 0x18]
call fcn.0043db4f
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8