Function at 0x465c70
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get ntdll base address
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57cdf4
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x5c4104]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
push 0x5a1470
lea ecx, [ebx + 4]
mov dword [ebx], vtable.CREQURL.0
call fcn.00404e80
push str.https:__dll.pdfxd.com_UserAgreement_
lea ecx, [ebx + 8]
mov dword [ebp - 4], 0
call fcn.00404e80
push str.http:__passport.pdfxd.com_account
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 1
call fcn.00404e80
push str.http:__archive.pdfxd.com_xundu_cef.7z
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 2
call fcn.00404e80
push str.https:__www.echatsoft.com_visitor_pc_chat.html_companyId521189echatTagkehuduan
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 3
call fcn.00404e80
push str.https:__apis.pdfxd.com
lea ecx, [ebx + 0x18]
mov byte [ebp - 4], 4
call fcn.00404e80
lea ecx, [ebx + 0x1c]
mov byte [ebp - 4], 5
push str.https:__dev.pdfxd.com
call fcn.00404e80
push str.https:__dll.pdfxd.com
lea ecx, [ebx + 0x20]
mov byte [ebp - 4], 6
call fcn.00404e80
lea ecx, [ebx + 0x24]
mov byte [ebp - 4], 7
push str.https:__dll_dev.pdfxd.com
call fcn.00404e80
push str.http:__report.pdfxd.com
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 8
call fcn.00404e80
mov ecx, ebx
mov byte [ebp - 4], 9
add ecx, 0x2c
push str.http:__report_dev.pdfxd.com
call fcn.00404e80
mov ecx, ebx
mov byte [ebp - 4], 0xa
push str._third_anonymous
lea ecx, [ecx + 0x30]
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xb
add eax, 0x34
push str._account_v1_api_user_info
mov ecx, eax
mov dword [ebp - 0x84], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xc
add eax, 0x38
push str._account_v1_api_passport_logout
mov ecx, eax
mov dword [ebp - 0x88], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xd
add eax, 0x3c
push str._third_wx_qrcode_login
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xe
add eax, 0x40
push str._third_wx_qrcode_login_notice
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xf
add eax, 0x44
push str._third_phone_sms_code
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x10
add eax, 0x48
push str._account_v3_mobile_login
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x11
add eax, 0x4c
push str._account_v1_api_auth_code
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x12
add eax, 0x50
push str._account_v1_api_register
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x13
add eax, 0x54
push str._account_v3_passport_login
mov ecx, eax
mov dword [ebp - 0x40], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x14
add eax, 0x58
push str._third_qq_login_connect
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x15
add eax, 0x5c
push str._account_v3_passport_login_bind
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x16
add eax, 0x60
push str._account_v1_api_user_bind
mov ecx, eax
mov dword [ebp - 0x48], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x17
add eax, 0x64
mov dword [ebp - 0x4c], eax
push str._account_v1_api_user_bind_list
mov ecx, eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x18
add eax, 0x68
push str._account_v1_api_forgetpwd_step_first
mov ecx, eax
mov dword [ebp - 0x50], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x19
add eax, 0x6c
push str._account_v1_api_forgetpwd_step_second
mov ecx, eax
mov dword [ebp - 0x54], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1a
add eax, 0x70
push str._account_v1_api_forgetpwd_step_submit
mov ecx, eax
mov dword [ebp - 0x58], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1b
add eax, 0x74
push str._app_config
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1c
add eax, 0x78
push str._app_cloud
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1d
add eax, 0x7c
push str._cloud_v1_api_upgrade
mov ecx, eax
mov dword [ebp - 0x64], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1e
sub eax, 0xffffff80
push str._customer_support
mov ecx, eax
mov dword [ebp - 0x68], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1f
add eax, 0x84
push str._customer_collection
mov ecx, eax
mov dword [ebp - 0x6c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x20
add eax, 0x88
push str._customer_cloud_active
mov ecx, eax
mov dword [ebp - 0x70], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x21
add eax, 0x8c
mov dword [ebp - 0x74], eax
push str._customer_dump_upload
mov ecx, eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x22
add eax, 0x90
push str._third_auth_echat_cipher_member
mov ecx, eax
mov dword [ebp - 0x78], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x23
add eax, 0x94
push str._qh_payment.html
mov ecx, eax
mov dword [ebp - 0x7c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x24
add eax, 0x98
push str._qh_special_pay.html
mov ecx, eax
mov dword [ebp - 0x8c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x25
add eax, 0x9c
push str._pricing.html
mov ecx, eax
mov dword [ebp - 0x90], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x26
add eax, 0xa0
push str._cancel_pay.html
mov ecx, eax
mov dword [ebp - 0x94], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x27
add eax, 0xa4
push str._close_pay.html
mov ecx, eax
mov dword [ebp - 0x98], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x28
add eax, 0xa8
push str._qh_pricing.html
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x29
add eax, 0xac
push str._qh_cancel_pay.html
mov ecx, eax
mov dword [ebp - 0xa0], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2a
add eax, 0xb0
push str._qh_close_pay.html
mov ecx, eax
mov dword [ebp - 0xa4], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2b
add eax, 0xb4
mov dword [ebp - 0xa8], eax
mov ecx, eax
push str._lenovo_pricing.html
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2c
add eax, 0xb8
push str._lenovo_cancel_pay.html
mov ecx, eax
mov dword [ebp - 0xac], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2d
add eax, 0xbc
push str._lenovo_close_pay.html
mov ecx, eax
mov dword [ebp - 0xb0], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2e
add eax, 0xc0
push str._v1_log
mov ecx, eax
mov dword [ebp - 0xb4], eax
call fcn.00404e80
mov byte [ebp - 4], 0x2f
mov eax, dword [ebx + 0x18]
sub eax, 0x10
push eax
call fcn.00405650
lea esi, [eax + 0x10]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x30
mov eax, dword [ebx + 0x20]
sub eax, 0x10
push eax
call fcn.00405650
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 0x31
mov eax, dword [ebx + 0x28]
sub eax, 0x10
push eax
call fcn.00405650
add esp, 0xc
lea ebx, [eax + 0x10]
mov dword [ebp - 0x80], ebx
mov byte [ebp - 4], 0x32
call fcn.004380c0
test eax, eax
je 0x466242
mov eax, dword [ebp - 0x18]
lea ecx, [esi - 0x10]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x10], eax
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x4661be
cmp dword [ecx + 0xc], 0
jl 0x4661b2
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4661af
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x14]
add esp, 4
mov esi, eax
call fcn.00407070
lea eax, [esi + 0x10]
mov dword [ebp - 0x1c], eax
jmp 0x4661be
mov eax, dword [ebp - 0x10]
push dword [eax - 0xc]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00405730
mov edx, dword [ebp - 0x18]
add edi, 0xfffffff0
mov edx, dword [edx + 0x24]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x466200
cmp dword [edi + 0xc], 0
jl 0x4661f4
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4661f4
push ecx
call fcn.00405650
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.00407070
lea eax, [esi + 0x10]
mov dword [ebp - 0x20], eax
jmp 0x466200
push dword [edx - 0xc]
lea ecx, [ebp - 0x20]
push edx
call fcn.00405730
mov ecx, dword [ebp - 0x18]
add ebx, 0xfffffff0
mov edx, dword [ecx + 0x2c]
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x466242
cmp dword [ebx + 0xc], 0
jl 0x466236
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x466236
push ecx
call fcn.00405650
add esp, 4
mov ecx, ebx
mov esi, eax
call fcn.00407070
lea eax, [esi + 0x10]
mov dword [ebp - 0x80], eax
jmp 0x466242
push dword [edx - 0xc]
lea ecx, [ebp - 0x80]
push edx
call fcn.00405730
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
add ebx, 0x30
push ebx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x33
mov edx, dword [eax]
mov edi, dword [ebx]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x46629b
cmp dword [edi + 0xc], 0
jl 0x466290
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x466290
push ecx
call fcn.00405650
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.00407070
lea eax, [esi + 0x10]
mov dword [ebx], eax
jmp 0x46629b
push dword [edx - 0xc]
mov ecx, ebx
push edx
call fcn.00405730
mov byte [ebp - 4], 0x32
or edi, 0xffffffff
mov ecx, dword [ebp - 0x10]
mov eax, edi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
jg 0x4662e5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4662e1
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4662e1
push 0
push dword [edx + 4]
call ebx
jmp 0x4662e5
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x34
mov esi, dword [eax]
mov eax, dword [ebp - 0x84]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466354
cmp dword [ecx + 0xc], 0
jl 0x466349
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466343
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x84]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466354
mov eax, dword [ebp - 0x84]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466395
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466391
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466391
push 0
push dword [edx + 4]
call ebx
jmp 0x466395
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x35
mov esi, dword [eax]
mov eax, dword [ebp - 0x88]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466404
cmp dword [ecx + 0xc], 0
jl 0x4663f9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4663f3
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x88]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466404
mov eax, dword [ebp - 0x88]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466445
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466441
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466441
push 0
push dword [edx + 4]
call ebx
jmp 0x466445
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x36
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4664a8
cmp dword [ecx + 0xc], 0
jl 0x46649d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46649a
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x24]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4664a8
mov eax, dword [ebp - 0x24]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4664e9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4664e5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4664e5
push 0
push dword [edx + 4]
call ebx
jmp 0x4664e9
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x37
mov esi, dword [eax]
mov eax, dword [ebp - 0x28]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x46654c
cmp dword [ecx + 0xc], 0
jl 0x466541
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46653e
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x28]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x46654c
mov eax, dword [ebp - 0x28]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46658d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466589
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466589
push 0
push dword [edx + 4]
call ebx
jmp 0x46658d
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x38
mov esi, dword [eax]
mov eax, dword [ebp - 0x2c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4665f0
cmp dword [ecx + 0xc], 0
jl 0x4665e5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4665e2
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x2c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4665f0
mov eax, dword [ebp - 0x2c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466631
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46662d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46662d
push 0
push dword [edx + 4]
call ebx
jmp 0x466631
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x39
mov esi, dword [eax]
mov eax, dword [ebp - 0x30]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466694
cmp dword [ecx + 0xc], 0
jl 0x466689
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466686
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x30]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466694
mov eax, dword [ebp - 0x30]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4666d5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4666d1
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4666d1
push 0
push dword [edx + 4]
call ebx
jmp 0x4666d5
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3a
mov esi, dword [eax]
mov eax, dword [ebp - 0x34]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466738
cmp dword [ecx + 0xc], 0
jl 0x46672d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46672a
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x34]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466738
mov eax, dword [ebp - 0x34]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466779
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466775
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466775
push 0
push dword [edx + 4]
call ebx
jmp 0x466779
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3b
mov esi, dword [eax]
mov eax, dword [ebp - 0x38]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4667dc
cmp dword [ecx + 0xc], 0
jl 0x4667d1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4667ce
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x38]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4667dc
mov eax, dword [ebp - 0x38]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46681d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466819
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466819
push 0
push dword [edx + 4]
call ebx
jmp 0x46681d
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3c
mov esi, dword [eax]
mov eax, dword [ebp - 0x3c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466880
cmp dword [ecx + 0xc], 0
jl 0x466875
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466872
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x3c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466880
mov eax, dword [ebp - 0x3c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4668c1
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4668bd
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4668bd
push 0
push dword [edx + 4]
call ebx
jmp 0x4668c1
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3d
mov esi, dword [eax]
mov eax, dword [ebp - 0x40]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466924
cmp dword [ecx + 0xc], 0
jl 0x466919
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466916
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x40]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466924
mov eax, dword [ebp - 0x40]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466965
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466961
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466961
push 0
push dword [edx + 4]
call ebx
jmp 0x466965
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3e
mov esi, dword [eax]
mov eax, dword [ebp - 0x44]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4669c8
cmp dword [ecx + 0xc], 0
jl 0x4669bd
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4669ba
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x44]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4669c8
mov eax, dword [ebp - 0x44]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466a09
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466a05
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466a05
push 0
push dword [edx + 4]
call ebx
jmp 0x466a09
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x3f
mov esi, dword [eax]
mov eax, dword [ebp - 0x48]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466a6c
cmp dword [ecx + 0xc], 0
jl 0x466a61
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466a5e
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x48]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466a6c
mov eax, dword [ebp - 0x48]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466aad
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466aa9
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466aa9
push 0
push dword [edx + 4]
call ebx
jmp 0x466aad
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x40
mov esi, dword [eax]
mov eax, dword [ebp - 0x4c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466b10
cmp dword [ecx + 0xc], 0
jl 0x466b05
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466b02
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x4c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466b10
mov eax, dword [ebp - 0x4c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466b51
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466b4d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466b4d
push 0
push dword [edx + 4]
call ebx
jmp 0x466b51
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x41
mov esi, dword [eax]
mov eax, dword [ebp - 0x50]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466bb4
cmp dword [ecx + 0xc], 0
jl 0x466ba9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466ba6
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x50]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466bb4
mov eax, dword [ebp - 0x50]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466bf5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466bf1
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466bf1
push 0
push dword [edx + 4]
call ebx
jmp 0x466bf5
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x42
mov esi, dword [eax]
mov eax, dword [ebp - 0x54]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466c58
cmp dword [ecx + 0xc], 0
jl 0x466c4d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466c4a
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x54]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466c58
mov eax, dword [ebp - 0x54]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466c99
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466c95
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466c95
push 0
push dword [edx + 4]
call ebx
jmp 0x466c99
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x43
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466cfc
cmp dword [ecx + 0xc], 0
jl 0x466cf1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466cee
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x58]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466cfc
mov eax, dword [ebp - 0x58]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466d3d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466d39
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466d39
push 0
push dword [edx + 4]
call ebx
jmp 0x466d3d
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x44
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466da0
cmp dword [ecx + 0xc], 0
jl 0x466d95
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466d92
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x5c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466da0
mov eax, dword [ebp - 0x5c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466de1
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466ddd
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466ddd
push 0
push dword [edx + 4]
call ebx
jmp 0x466de1
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x45
mov esi, dword [eax]
mov eax, dword [ebp - 0x60]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466e44
cmp dword [ecx + 0xc], 0
jl 0x466e39
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466e36
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x60]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466e44
mov eax, dword [ebp - 0x60]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466e85
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466e81
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466e81
push 0
push dword [edx + 4]
call ebx
jmp 0x466e85
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x46
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466ee8
cmp dword [ecx + 0xc], 0
jl 0x466edd
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466eda
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x64]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466ee8
mov eax, dword [ebp - 0x64]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466f29
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466f25
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466f25
push 0
push dword [edx + 4]
call ebx
jmp 0x466f29
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x47
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x466f8c
cmp dword [ecx + 0xc], 0
jl 0x466f81
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466f7e
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x68]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x466f8c
mov eax, dword [ebp - 0x68]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466fcd
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466fc9
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466fc9
push 0
push dword [edx + 4]
call ebx
jmp 0x466fcd
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x48
mov esi, dword [eax]
mov eax, dword [ebp - 0x6c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x467030
cmp dword [ecx + 0xc], 0
jl 0x467025
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467022
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x6c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x467030
mov eax, dword [ebp - 0x6c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467071
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46706d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46706d
push 0
push dword [edx + 4]
call ebx
jmp 0x467071
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x49
mov esi, dword [eax]
mov eax, dword [ebp - 0x70]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4670d4
cmp dword [ecx + 0xc], 0
jl 0x4670c9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4670c6
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x70]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4670d4
mov eax, dword [ebp - 0x70]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467115
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467111
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467111
push 0
push dword [edx + 4]
call ebx
jmp 0x467115
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x4a
mov esi, dword [eax]
mov eax, dword [ebp - 0x74]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x467178
cmp dword [ecx + 0xc], 0
jl 0x46716d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46716a
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x74]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x467178
mov eax, dword [ebp - 0x74]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4671b9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4671b5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4671b5
push 0
push dword [edx + 4]
call ebx
jmp 0x4671b9
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x4b
mov esi, dword [eax]
mov eax, dword [ebp - 0x78]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x46721c
cmp dword [ecx + 0xc], 0
jl 0x467211
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46720e
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x78]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x46721c
mov eax, dword [ebp - 0x78]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46725d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467259
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467259
push 0
push dword [edx + 4]
call ebx
jmp 0x46725d
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x4c
mov esi, dword [eax]
mov eax, dword [ebp - 0x7c]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4672c0
cmp dword [ecx + 0xc], 0
jl 0x4672b5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4672b2
push edx
call fcn.00405650
mov ecx, dword [ebp - 0x10]
add esp, 4
mov esi, eax
call fcn.00407070
mov ecx, dword [ebp - 0x7c]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x4672c0
mov eax, dword [ebp - 0x7c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], edi
dec edi
test edi, edi
jg 0x4672ff
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4672fb
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4672fb
push 0
push dword [edx + 4]
call ebx
jmp 0x4672ff
mov ecx, edx
call esi
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x4d
call fcn.00404da0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x4e
call fcn.00404da0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x4f
call fcn.00404da0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0x98]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x50
call fcn.00404da0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0x9c]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x51
call fcn.00404da0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xa0]
push esi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x52
call fcn.00404da0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x53
call fcn.00404da0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x54
call fcn.00404da0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xac]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x55
call fcn.00404da0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xb0]
lea eax, [ebp - 0x20]
push esi
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x56
call fcn.00404da0
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x32
call fcn.00404e00
mov esi, dword [ebp - 0xb4]
push esi
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.004048b0
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x57
call fcn.00404da0
lea ecx, [ebp - 0xb4]
call fcn.00404e00
lea ecx, [ebp - 0x80]
call fcn.00404e00
lea ecx, [ebp - 0x20]
call fcn.00404e00
lea ecx, [ebp - 0x1c]
call fcn.00404e00
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret