Function at 0x427cf0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b22ee
mov eax, dword fs:[0]
push eax
sub esp, 0x1e0
mov eax, dword [0x4e5728]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x134], ecx
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xdc], eax
call fcn.0043c150
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x427e93
push 0x78
push str.d:jenkins.jenkinsworkspacepay_groupmulti_wechatmulti_wechat_clientclientclientmulti_wechat_srcwechat_helper.cc
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], al
call fcn.004082b0
push 3
push 0x4ba7a4
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
call fcn.004082b0
mov byte [ebp - 4], 1
call fcn.0043c150
mov edi, eax
lea ecx, [ebp - 0x1e8]
push 0x8b
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.00403c10
mov esi, eax
push str.WechatHelper::InitWxFileSavePath
push esi
mov byte [ebp - 4], 2
call fcn.00404ba0
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x1e8]
call fcn.00404e00
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x427e37
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x427e2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
add esp, 8
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x427e93
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x427e89
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac9
push edx
push ecx
call fcn.004678ef
add esp, 8
xor eax, eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 7
mov word [ebp - 0xd8], ax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 4], 3
mov edi, dword [eax + 0x13c]
mov esi, dword [edi]
cmp esi, edi
je 0x4284c4
add eax, 0x38
mov dword [ebp - 0x130], eax
push eax
push dword [esi + 8]
lea eax, [ebp - 0x150]
push eax
call fcn.004300b0
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
add esp, 0xc
cmp ecx, eax
je 0x427f84
mov edx, dword [ebp - 0xc4]
cmp edx, 8
jb 0x427f43
mov ecx, dword [ebp - 0xd8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427f33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
mov eax, dword [ebp - 0xdc]
add esp, 8
mov dword [ebp - 0xc8], 0
xor ecx, ecx
mov dword [ebp - 0xc4], 7
mov word [ebp - 0xd8], cx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc8], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x13c]
cmp edx, 8
jb 0x427fc4
mov ecx, dword [ebp - 0x150]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427fba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
add esp, 8
call fcn.0043c150
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x428488
push 0x78
push str.d:jenkins.jenkinsworkspacepay_groupmulti_wechatmulti_wechat_clientclientclientmulti_wechat_srcwechat_helper.cc
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], al
call fcn.004082b0
push 3
push 0x4ba7a4
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 4
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
call fcn.004082b0
mov byte [ebp - 4], 5
call fcn.0043c150
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], 0x4ba840
mov eax, dword [ebp - 0xf8]
lea ecx, [ebp - 0x198]
or eax, 1
mov byte [ebp - 4], 6
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x1e4]
push 0
push eax
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x19c], 0x48
call fcn.00409270
mov eax, dword [ebp - 0x1e8]
push 8
mov dword [ebp - 4], 8
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x1ec], eax
mov dword [ebp - method.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.004678bf
add esp, 4
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x42810b
xorps xmm0, xmm0
movq qword [eax], xmm0
push 1
mov byte [ebp - 4], 9
call fcn.004324de
mov ecx, dword [ebp - 0xfc]
add esp, 4
mov dword [ecx + 4], eax
jmp 0x42810d
xor ecx, ecx
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 4
push 0xffffffffffffffff
push 0x4ba850
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0xa
call fcn.00409730
push 0xffffffffffffffff
push 0x4ba854
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xdc], eax
call fcn.00409730
push 0x64
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.00472f00
mov edx, dword [ebp - 0xfc]
add esp, 0xc
cmp edx, 0xffffffff
je 0x42830f
mov ecx, dword [ebp - 0xdc]
lea eax, [edx - 1]
cmp ecx, eax
jae 0x42830f
lea eax, [ecx + 1]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp eax, dword [ebp - 0xdc]
jb 0x428ace
sub eax, dword [ebp - 0xdc]
sub edx, ecx
lea ecx, [edx - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
cmovae eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xdc]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.004082b0
or dword [ebp - 0xf8], 4
lea eax, [ebp - 0x12c]
cmp dword [ebp - 0x118], 0x10
cmovae eax, dword [ebp - 0x12c]
push eax
push 0x91
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.004034e0
mov edx, dword [ebp - 0x118]
add esp, 0x10
cmp edx, 0x10
jb 0x4282f2
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4282e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
add esp, 8
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
jmp 0x428325
push 0x91
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.004034e0
add esp, 0xc
cmp dword [ebp - 0x100], 0x10
lea eax, [ebp - 0x114]
cmovae eax, dword [ebp - 0x114]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.00404ba0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.00404ba0
lea eax, [ebp - 0x1e8]
mov byte [ebp - 4], 0xb
push str.get_file_save_path__wxid:
push eax
call fcn.0040abe0
cmp dword [ebp - 0xc4], 8
lea ecx, [ebp - 0xd8]
mov eax, 0x4baf6c
cmovae ecx, dword [ebp - 0xd8]
test ecx, ecx
cmovne eax, ecx
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0040abe0
lea eax, [ebp - 0x1e8]
push str.__wx_file_save_path_:
push eax
call fcn.0040abe0
mov eax, dword [ebp - 0x130]
add esp, 0x28
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4283ba
mov ecx, dword [eax]
test ecx, ecx
mov eax, 0x4baf6c
cmovne eax, ecx
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0040abe0
mov ecx, dword [ebp - 0x138]
lea edx, [ebp - 0x1e8]
add esp, 8
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x1e8]
call fcn.00404e00
mov edx, dword [ebp - 0x100]
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x42842f
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428425
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
add esp, 8
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x428488
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42847e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ac4
push edx
push ecx
call fcn.004678ef
add esp, 8
mov eax, dword [ebp - 0x134]
cmp dword [eax + 0x48], 0
je 0x4284b3
mov ecx, dword [ebp - 0x130]
mov eax, ecx
cmp dword [ecx + 0x14], 8
jb 0x4284a4
mov eax, dword [ecx]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x42891c
mov esi, dword [esi]
cmp esi, edi
je 0x4284c4
mov eax, dword [ebp - 0x130]
jmp 0x427ed6
push 0xc
xor eax, eax
mov dword [ebp - 0x104], 0
push str.FileSavePath
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
call fcn.004083b0
push 0x17
xor eax, eax
mov byte [ebp - 4], 0xc
push 0x4bcae0
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
call fcn.004083b0
push 0
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xc0]
push 0x80000001
push eax
call fcn.0041f7a0
add esp, 0x14
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 4], 0xf
cmp edx, 8
jb 0x428592
mov ecx, dword [ebp - 0xf4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428588
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ad3
push edx
push ecx
call fcn.004678ef
add esp, 8
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
mov edx, dword [ebp - 0x100]
mov byte [ebp - 4], 0x10
cmp edx, 8
jb 0x4285f3
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4285e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ad8
push edx
push ecx
call fcn.004678ef
add esp, 8
push 0xd
xor eax, eax
mov dword [ebp - 0x104], 0
push str.WeChat_Files
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
call fcn.00408120
cmp dword [ebp - 0xac], 8
lea eax, [ebp - 0xc0]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0xc0]
push eax
call edi
test eax, eax
jne 0x428727
lea eax, [ebp - 0x150]
push eax
call fcn.0041e670
mov esi, eax
add esp, 4
lea eax, [ebp - 0xc0]
cmp eax, esi
je 0x4286e7
mov edx, dword [ebp - 0xac]
cmp edx, 8
jb 0x4286a6
mov ecx, dword [ebp - 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42869c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428add
push edx
push ecx
call fcn.004678ef
add esp, 8
mov dword [ebp - 0xb0], 0
xor eax, eax
mov dword [ebp - 0xac], 7
mov word [ebp - 0xc0], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xc0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0xb0], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x13c]
cmp edx, 8
jb 0x428727
mov ecx, dword [ebp - 0x150]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42871d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ae2
push edx
push ecx
call fcn.004678ef
add esp, 8
cmp dword [ebp - 0xac], 8
lea eax, [ebp - 0xc0]
cmovae eax, dword [ebp - 0xc0]
push eax
call edi
test eax, eax
jne 0x428965
call fcn.0043c150
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4288bf
push 0x78
push str.d:jenkins.jenkinsworkspacepay_groupmulti_wechatmulti_wechat_clientclientclientmulti_wechat_srcwechat_helper.cc
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], al
call fcn.004082b0
push 3
push 0x4ba7a4
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
call fcn.004082b0
mov byte [ebp - 4], 0x12
call fcn.0043c150
mov edi, eax
lea ecx, [ebp - 0x1e8]
push 0xa1
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00403c10
mov esi, eax
push str.wx_file_save_path_error__path:
push esi
mov byte [ebp - 4], 0x13
call fcn.00404ba0
cmp dword [ebp - 0xac], 8
lea ecx, [ebp - 0xc0]
mov eax, 0x4baf6c
cmovae ecx, dword [ebp - 0xc0]
test ecx, ecx
cmovne eax, ecx
push eax
push esi
call fcn.0040abe0
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x1e8]
call fcn.00404e00
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x42886a
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428860
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428ae7
push edx
push ecx
call fcn.004678ef
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x4288bf
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4288b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428aec
push edx
push ecx
call fcn.004678ef
add esp, 8
mov edx, dword [ebp - 0xac]
cmp edx, 8
jb 0x4288ff
mov ecx, dword [ebp - 0xc0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4288f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428af1
push edx
push ecx
call fcn.004678ef
add esp, 8
xor eax, eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 7
mov word [ebp - 0xc0], ax
mov edx, dword [ebp - 0xc4]
cmp edx, 8
jb 0x428aa9
mov ecx, dword [ebp - 0xd8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428956
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428af6
push edx
push ecx
call fcn.004678ef
add esp, 8
jmp 0x428aa9
mov esi, dword [ebp - 0x134]
lea eax, [ebp - 0xc0]
add esi, 0x38
cmp esi, eax
je 0x428994
cmp dword [ebp - 0xac], 8
mov ecx, esi
push dword [ebp - 0xb0]
cmovae eax, dword [ebp - 0xc0]
push eax
call fcn.004083b0
call fcn.0043c150
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x428a93
push 0x78
push str.d:jenkins.jenkinsworkspacepay_groupmulti_wechatmulti_wechat_clientclientclientmulti_wechat_srcwechat_helper.cc
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], al
call fcn.004082b0
push 3
push 0x4ba7a4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
call fcn.004082b0
mov byte [ebp - 4], 0x15
call fcn.0043c150
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0xa8]
push 0xa5
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00403c10
mov edi, eax
push str.wx_file_save_path:
push edi
mov byte [ebp - 4], 0x16
call fcn.00404ba0
add esp, 8
cmp dword [esi + 0x14], 8
jb 0x428a52
mov esi, dword [esi]
test esi, esi
mov eax, 0x4baf6c
cmovne eax, esi
push eax
push edi
call fcn.0040abe0
mov ecx, dword [ebp - 0x138]
add esp, 8
mov eax, dword [ecx]
push edi
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00404e00
lea ecx, [ebp - 0x150]
call fcn.00404580
lea ecx, [ebp - 0x12c]
call fcn.00404580
lea ecx, [ebp - 0xc0]
call fcn.004045d0
lea ecx, [ebp - 0xd8]
call fcn.004045d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00467bb3
mov esp, ebp
pop ebp
ret
call fcn.00476379
call fcn.00476379
call fcn.00407b80
call fcn.00476379
call fcn.00476379
call fcn.00476379
call fcn.00476379
call fcn.00476379
call fcn.00476379
call fcn.00476379
call fcn.00476379
int3