Function at 0x4538c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x567584
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x5ad124]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x58bb28
mov ecx, 0x5b2f68
mov dword [ebp - 0x24], 0x5b2f68
call fcn.00404c40
push str.https:__docs.qq.com_doc_DSndRYVBKa2lyc2F3_ucaf9245d51b349858497bf651e09f463
mov ecx, 0x5b2f6c
mov dword [ebp - 4], 0
call fcn.00404c40
push str.https:__wenjuan.feishu.cn_m_tskiTkQxuy0Gi_uyi3
mov ecx, 0x5b2f70
mov byte [ebp - 4], 1
call fcn.00404c40
push str.http:__archive.pdfxd.com_xundu_cef.7z
mov ecx, 0x5b2f74
mov byte [ebp - 4], 2
call fcn.00404c40
push str.http:__cef.pdfxd.com_xundu_cef.7z
mov ecx, 0x5b2f78
mov byte [ebp - 4], 3
call fcn.00404c40
push str.https:__www.echatsoft.com_visitor_pc_chat.html_companyId521189echatTagkehuduan
mov ecx, 0x5b2f7c
mov byte [ebp - 4], 4
call fcn.00404c40
push str._sign.html
mov ecx, 0x5b2f80
mov byte [ebp - 4], 5
call fcn.00404c40
push str._lenovo_payment.html
mov ecx, 0x5b2f84
mov byte [ebp - 4], 6
call fcn.00404c40
push str._lenovo_vip_privilege_tips.html
mov ecx, 0x5b2f88
mov byte [ebp - 4], 7
call fcn.00404c40
push str._lenovo_vip_privilege.html
mov ecx, 0x5b2f8c
mov byte [ebp - 4], 8
call fcn.00404c40
push str._bind_phone.html
mov ecx, 0x5b2f90
mov byte [ebp - 4], 9
call fcn.00404c40
push str._coupon.html
mov ecx, 0x5b2f94
mov byte [ebp - 4], 0xa
call fcn.00404c40
push str._account_v1_api_passport_logout
mov ecx, 0x5b2f98
mov byte [ebp - 4], 0xb
call fcn.00404c40
push str._account_v1_api_user_info
mov ecx, 0x5b2f9c
mov byte [ebp - 4], 0xc
call fcn.00404c40
push str._cloud_v1_api_upgrade
mov ecx, 0x5b2fa0
mov byte [ebp - 4], 0xd
call fcn.00404c40
push str._customer_support
mov ecx, 0x5b2fa4
mov byte [ebp - 4], 0xe
call fcn.00404c40
mov byte [ebp - 4], 0xf
push str._customer_dump_token
mov ecx, 0x5b2fa8
call fcn.00404c40
push str._customer_cloud_active
mov ecx, 0x5b2fac
mov byte [ebp - 4], 0x10
call fcn.00404c40
push str._coupon_offer_
mov ecx, 0x5b2fb0
mov byte [ebp - 4], 0x11
call fcn.00404c40
push str._app_config_
mov ecx, 0x5b2fb4
mov byte [ebp - 4], 0x12
call fcn.00404c40
push str._log_v1_api_report
mov ecx, 0x5b2fb8
mov byte [ebp - 4], 0x13
call fcn.00404c40
mov byte [ebp - 4], 0x14
call fcn.00406bf0
mov ecx, eax
test ecx, ecx
jne 0x453a96
push 0x80004005
call fcn.00406fb0
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453aab
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x453aad
call edx
add eax, 0x10
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x15
call fcn.00406bf0
mov ecx, eax
test ecx, ecx
jne 0x453acc
push 0x80004005
call fcn.00406fb0
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453ae1
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x453ae3
call edx
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x16
call fcn.00406bf0
mov ecx, eax
test ecx, ecx
jne 0x453b02
push 0x80004005
call fcn.00406fb0
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453b17
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x453b19
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
push ecx
mov edx, str.dev.data
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1c]
call fcn.0042e500
add esp, 4
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, dword [ebp - 0x1c]
or edi, 0xffffffff
mov dword [ebp - 0x20], eax
add ecx, 0xfffffff0
mov eax, edi
lock xadd dword [ecx + 0xc], eax
dec eax
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
jg 0x453b85
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453b81
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453b81
push 0
push dword [edx + 4]
call ebx
jmp 0x453b85
mov ecx, edx
call esi
cmp dword [ebp - 0x20], 0
lea ecx, [ebp - 0x10]
je 0x453bb2
push 0x15
push str.https:__dev.pdfxd.com
call fcn.00405500
push 0x15
push str.https:__dev.pdfxd.com
lea ecx, [ebp - 0x18]
call fcn.00405500
push 0x1c
push str.http:__qyscreen.xundupdf.com
jmp 0x453bd4
push 0x16
push str.https:__apis.pdfxd.com
call fcn.00405500
push 0x16
push str.https:__apis.pdfxd.com
lea ecx, [ebp - 0x18]
call fcn.00405500
push 0x18
push str.https:__www.qyscreen.com
lea ecx, [ebp - 0x14]
call fcn.00405500
push 0x5b2f98
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x18
mov esi, dword [eax]
mov ecx, dword [0x5b2f98]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453c3f
cmp dword [ecx + 0xc], 0
jl 0x453c31
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453c31
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f98], eax
jmp 0x453c3f
push dword [esi - 0xc]
mov ecx, 0x5b2f98
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453c80
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453c7c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453c7c
push 0
push dword [edx + 4]
call ebx
jmp 0x453c80
mov ecx, edx
call esi
push 0x5b2f9c
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x19
mov esi, dword [eax]
mov ecx, dword [0x5b2f9c]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453ce3
cmp dword [ecx + 0xc], 0
jl 0x453cd5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453cd5
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f9c], eax
jmp 0x453ce3
push dword [esi - 0xc]
mov ecx, 0x5b2f9c
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453d24
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453d20
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453d20
push 0
push dword [edx + 4]
call ebx
jmp 0x453d24
mov ecx, edx
call esi
push 0x5b2fa0
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1a
mov esi, dword [eax]
mov ecx, dword [0x5b2fa0]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453d87
cmp dword [ecx + 0xc], 0
jl 0x453d79
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453d79
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fa0], eax
jmp 0x453d87
push dword [esi - 0xc]
mov ecx, 0x5b2fa0
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453dc8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453dc4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453dc4
push 0
push dword [edx + 4]
call ebx
jmp 0x453dc8
mov ecx, edx
call esi
push 0x5b2fa4
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1b
mov esi, dword [eax]
mov ecx, dword [0x5b2fa4]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453e2b
cmp dword [ecx + 0xc], 0
jl 0x453e1d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453e1d
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fa4], eax
jmp 0x453e2b
push dword [esi - 0xc]
mov ecx, 0x5b2fa4
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453e6c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453e68
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453e68
push 0
push dword [edx + 4]
call ebx
jmp 0x453e6c
mov ecx, edx
call esi
push 0x5b2fa8
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1c
mov esi, dword [eax]
mov ecx, dword [0x5b2fa8]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453ecf
cmp dword [ecx + 0xc], 0
jl 0x453ec1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453ec1
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fa8], eax
jmp 0x453ecf
push dword [esi - 0xc]
mov ecx, 0x5b2fa8
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453f10
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453f0c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453f0c
push 0
push dword [edx + 4]
call ebx
jmp 0x453f10
mov ecx, edx
call esi
push 0x5b2fac
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1d
mov esi, dword [eax]
mov ecx, dword [0x5b2fac]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x453f73
cmp dword [ecx + 0xc], 0
jl 0x453f65
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x453f65
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fac], eax
jmp 0x453f73
push dword [esi - 0xc]
mov ecx, 0x5b2fac
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x453fb4
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x453fb0
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x453fb0
push 0
push dword [edx + 4]
call ebx
jmp 0x453fb4
mov ecx, edx
call esi
push 0x5b2fb0
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1e
mov esi, dword [eax]
mov ecx, dword [0x5b2fb0]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x454017
cmp dword [ecx + 0xc], 0
jl 0x454009
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x454009
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fb0], eax
jmp 0x454017
push dword [esi - 0xc]
mov ecx, 0x5b2fb0
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x454058
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454054
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x454054
push 0
push dword [edx + 4]
call ebx
jmp 0x454058
mov ecx, edx
call esi
push 0x5b2fb4
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x1f
mov esi, dword [eax]
mov ecx, dword [0x5b2fb4]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x4540bb
cmp dword [ecx + 0xc], 0
jl 0x4540ad
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4540ad
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fb4], eax
jmp 0x4540bb
push dword [esi - 0xc]
mov ecx, 0x5b2fb4
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4540fc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4540f8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4540f8
push 0
push dword [edx + 4]
call ebx
jmp 0x4540fc
mov ecx, edx
call esi
push 0x5b2fb8
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x20
mov esi, dword [eax]
mov ecx, dword [0x5b2fb8]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x45415f
cmp dword [ecx + 0xc], 0
jl 0x454151
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x454151
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2fb8], eax
jmp 0x45415f
push dword [esi - 0xc]
mov ecx, 0x5b2fb8
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4541a0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x45419c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x45419c
push 0
push dword [edx + 4]
call ebx
jmp 0x4541a0
mov ecx, edx
call esi
push 0x5b2f80
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x21
mov esi, dword [eax]
mov ecx, dword [0x5b2f80]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x454203
cmp dword [ecx + 0xc], 0
jl 0x4541f5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4541f5
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f80], eax
jmp 0x454203
push dword [esi - 0xc]
mov ecx, 0x5b2f80
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x454244
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454240
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x454240
push 0
push dword [edx + 4]
call ebx
jmp 0x454244
mov ecx, edx
call esi
push 0x5b2f84
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x22
mov esi, dword [eax]
mov ecx, dword [0x5b2f84]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x4542a7
cmp dword [ecx + 0xc], 0
jl 0x454299
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x454299
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f84], eax
jmp 0x4542a7
push dword [esi - 0xc]
mov ecx, 0x5b2f84
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4542e8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4542e4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4542e4
push 0
push dword [edx + 4]
call ebx
jmp 0x4542e8
mov ecx, edx
call esi
push 0x5b2f88
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x23
mov esi, dword [eax]
mov ecx, dword [0x5b2f88]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x45434b
cmp dword [ecx + 0xc], 0
jl 0x45433d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x45433d
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f88], eax
jmp 0x45434b
push dword [esi - 0xc]
mov ecx, 0x5b2f88
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x45438c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454388
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x454388
push 0
push dword [edx + 4]
call ebx
jmp 0x45438c
mov ecx, edx
call esi
push 0x5b2f8c
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x24
mov esi, dword [eax]
mov ecx, dword [0x5b2f8c]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x4543ef
cmp dword [ecx + 0xc], 0
jl 0x4543e1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4543e1
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f8c], eax
jmp 0x4543ef
push dword [esi - 0xc]
mov ecx, 0x5b2f8c
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x454430
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x45442c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x45442c
push 0
push dword [edx + 4]
call ebx
jmp 0x454430
mov ecx, edx
call esi
push 0x5b2f90
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x25
mov esi, dword [eax]
mov ecx, dword [0x5b2f90]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x454493
cmp dword [ecx + 0xc], 0
jl 0x454485
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x454485
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f90], eax
jmp 0x454493
push dword [esi - 0xc]
mov ecx, 0x5b2f90
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4544d4
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4544d0
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4544d0
push 0
push dword [edx + 4]
call ebx
jmp 0x4544d4
mov ecx, edx
call esi
push 0x5b2f94
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
call fcn.00404670
add esp, 4
mov byte [ebp - 4], 0x26
mov esi, dword [eax]
mov ecx, dword [0x5b2f94]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
lea edx, [esi - 0x10]
cmp edx, ecx
je 0x454537
cmp dword [ecx + 0xc], 0
jl 0x454529
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x454529
push edx
call fcn.00405420
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00406e40
lea eax, [esi + 0x10]
mov dword [0x5b2f94], eax
jmp 0x454537
push dword [esi - 0xc]
mov ecx, 0x5b2f94
push esi
call fcn.00405500
mov byte [ebp - 4], 0x17
mov eax, edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x454578
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454574
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x454574
push 0
push dword [edx + 4]
call ebx
jmp 0x454578
mov ecx, edx
call esi
mov byte [ebp - 4], 0x16
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4545b9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4545b5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4545b5
push 0
push dword [edx + 4]
call ebx
jmp 0x4545b9
mov ecx, edx
call esi
mov byte [ebp - 4], 0x15
mov eax, edi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4545fa
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4545f6
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4545f6
push 0
push dword [edx + 4]
call ebx
jmp 0x4545fa
mov ecx, edx
call esi
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], edi
dec edi
test edi, edi
jg 0x454639
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x454635
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x454635
push 0
push dword [edx + 4]
call ebx
jmp 0x454639
mov ecx, edx
call esi
mov eax, 0x5b2f68
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret