Function at 0x465c60
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 0x57cddb
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
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._cloud_v1_api_upgrade
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1d
add eax, 0x7c
push str._customer_support
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_collection
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_cloud_active
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_dump_upload
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._third_auth_echat_cipher_member
mov ecx, eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x22
add eax, 0x90
push str._qh_payment.html
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_special_pay.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._pricing.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._cancel_pay.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._close_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._qh_pricing.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_cancel_pay.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_close_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._lenovo_pricing.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_cancel_pay.html
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2c
add eax, 0xb8
push str._lenovo_close_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._v1_log
mov ecx, eax
mov dword [ebp - 0xb0], eax
call fcn.00404e80
mov byte [ebp - 4], 0x2e
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], 0x2f
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], 0x30
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], 0x31
call fcn.004380c0
test eax, eax
je 0x466215
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 0x466191
cmp dword [ecx + 0xc], 0
jl 0x466185
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466182
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 0x466191
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 0x4661d3
cmp dword [edi + 0xc], 0
jl 0x4661c7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4661c7
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 0x4661d3
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 0x466215
cmp dword [ebx + 0xc], 0
jl 0x466209
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x466209
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 0x466215
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], 0x32
mov edx, dword [eax]
mov edi, dword [ebx]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x46626e
cmp dword [edi + 0xc], 0
jl 0x466263
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x466263
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 0x46626e
push dword [edx - 0xc]
mov ecx, ebx
push edx
call fcn.00405730
mov byte [ebp - 4], 0x31
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 0x4662b8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4662b4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4662b4
push 0
push dword [edx + 4]
call ebx
jmp 0x4662b8
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], 0x33
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 0x466327
cmp dword [ecx + 0xc], 0
jl 0x46631c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466316
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 0x466327
mov eax, dword [ebp - 0x84]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466368
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466364
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466364
push 0
push dword [edx + 4]
call ebx
jmp 0x466368
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], 0x34
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 0x4663d7
cmp dword [ecx + 0xc], 0
jl 0x4663cc
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4663c6
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 0x4663d7
mov eax, dword [ebp - 0x88]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466418
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466414
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466414
push 0
push dword [edx + 4]
call ebx
jmp 0x466418
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], 0x35
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 0x46647b
cmp dword [ecx + 0xc], 0
jl 0x466470
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46646d
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 0x46647b
mov eax, dword [ebp - 0x24]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4664bc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4664b8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4664b8
push 0
push dword [edx + 4]
call ebx
jmp 0x4664bc
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], 0x36
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 0x46651f
cmp dword [ecx + 0xc], 0
jl 0x466514
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466511
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 0x46651f
mov eax, dword [ebp - 0x28]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466560
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46655c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46655c
push 0
push dword [edx + 4]
call ebx
jmp 0x466560
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], 0x37
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 0x4665c3
cmp dword [ecx + 0xc], 0
jl 0x4665b8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4665b5
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 0x4665c3
mov eax, dword [ebp - 0x2c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466604
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466600
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466600
push 0
push dword [edx + 4]
call ebx
jmp 0x466604
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], 0x38
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 0x466667
cmp dword [ecx + 0xc], 0
jl 0x46665c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466659
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 0x466667
mov eax, dword [ebp - 0x30]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4666a8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4666a4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4666a4
push 0
push dword [edx + 4]
call ebx
jmp 0x4666a8
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], 0x39
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 0x46670b
cmp dword [ecx + 0xc], 0
jl 0x466700
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4666fd
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 0x46670b
mov eax, dword [ebp - 0x34]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46674c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466748
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466748
push 0
push dword [edx + 4]
call ebx
jmp 0x46674c
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], 0x3a
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 0x4667af
cmp dword [ecx + 0xc], 0
jl 0x4667a4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4667a1
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 0x4667af
mov eax, dword [ebp - 0x38]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4667f0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4667ec
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4667ec
push 0
push dword [edx + 4]
call ebx
jmp 0x4667f0
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], 0x3b
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 0x466853
cmp dword [ecx + 0xc], 0
jl 0x466848
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466845
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 0x466853
mov eax, dword [ebp - 0x3c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466894
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466890
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466890
push 0
push dword [edx + 4]
call ebx
jmp 0x466894
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], 0x3c
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 0x4668f7
cmp dword [ecx + 0xc], 0
jl 0x4668ec
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4668e9
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 0x4668f7
mov eax, dword [ebp - 0x40]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466938
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466934
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466934
push 0
push dword [edx + 4]
call ebx
jmp 0x466938
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], 0x3d
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 0x46699b
cmp dword [ecx + 0xc], 0
jl 0x466990
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46698d
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 0x46699b
mov eax, dword [ebp - 0x44]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4669dc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4669d8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4669d8
push 0
push dword [edx + 4]
call ebx
jmp 0x4669dc
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], 0x3e
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 0x466a3f
cmp dword [ecx + 0xc], 0
jl 0x466a34
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466a31
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 0x466a3f
mov eax, dword [ebp - 0x48]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466a80
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466a7c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466a7c
push 0
push dword [edx + 4]
call ebx
jmp 0x466a80
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], 0x3f
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 0x466ae3
cmp dword [ecx + 0xc], 0
jl 0x466ad8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466ad5
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 0x466ae3
mov eax, dword [ebp - 0x4c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466b24
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466b20
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466b20
push 0
push dword [edx + 4]
call ebx
jmp 0x466b24
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], 0x40
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 0x466b87
cmp dword [ecx + 0xc], 0
jl 0x466b7c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466b79
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 0x466b87
mov eax, dword [ebp - 0x50]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466bc8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466bc4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466bc4
push 0
push dword [edx + 4]
call ebx
jmp 0x466bc8
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], 0x41
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 0x466c2b
cmp dword [ecx + 0xc], 0
jl 0x466c20
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466c1d
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 0x466c2b
mov eax, dword [ebp - 0x54]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466c6c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466c68
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466c68
push 0
push dword [edx + 4]
call ebx
jmp 0x466c6c
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], 0x42
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 0x466ccf
cmp dword [ecx + 0xc], 0
jl 0x466cc4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466cc1
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 0x466ccf
mov eax, dword [ebp - 0x58]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466d10
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466d0c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466d0c
push 0
push dword [edx + 4]
call ebx
jmp 0x466d10
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], 0x43
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 0x466d73
cmp dword [ecx + 0xc], 0
jl 0x466d68
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466d65
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 0x466d73
mov eax, dword [ebp - 0x5c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466db4
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466db0
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466db0
push 0
push dword [edx + 4]
call ebx
jmp 0x466db4
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], 0x44
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 0x466e17
cmp dword [ecx + 0xc], 0
jl 0x466e0c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466e09
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 0x466e17
mov eax, dword [ebp - 0x60]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466e58
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466e54
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466e54
push 0
push dword [edx + 4]
call ebx
jmp 0x466e58
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], 0x45
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 0x466ebb
cmp dword [ecx + 0xc], 0
jl 0x466eb0
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466ead
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 0x466ebb
mov eax, dword [ebp - 0x64]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466efc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466ef8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466ef8
push 0
push dword [edx + 4]
call ebx
jmp 0x466efc
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], 0x46
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 0x466f5f
cmp dword [ecx + 0xc], 0
jl 0x466f54
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466f51
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 0x466f5f
mov eax, dword [ebp - 0x68]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466fa0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466f9c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466f9c
push 0
push dword [edx + 4]
call ebx
jmp 0x466fa0
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], 0x47
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 0x467003
cmp dword [ecx + 0xc], 0
jl 0x466ff8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466ff5
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 0x467003
mov eax, dword [ebp - 0x6c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467044
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467040
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467040
push 0
push dword [edx + 4]
call ebx
jmp 0x467044
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], 0x48
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 0x4670a7
cmp dword [ecx + 0xc], 0
jl 0x46709c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467099
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 0x4670a7
mov eax, dword [ebp - 0x70]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4670e8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4670e4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4670e4
push 0
push dword [edx + 4]
call ebx
jmp 0x4670e8
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], 0x49
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 0x46714b
cmp dword [ecx + 0xc], 0
jl 0x467140
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46713d
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 0x46714b
mov eax, dword [ebp - 0x74]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46718c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467188
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467188
push 0
push dword [edx + 4]
call ebx
jmp 0x46718c
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x20]
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 - 0x78]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x4671ef
cmp dword [ecx + 0xc], 0
jl 0x4671e4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4671e1
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 0x4671ef
mov eax, dword [ebp - 0x78]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467230
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46722c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46722c
push 0
push dword [edx + 4]
call ebx
jmp 0x467230
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], 0x4b
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 0x467293
cmp dword [ecx + 0xc], 0
jl 0x467288
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467285
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 0x467293
mov eax, dword [ebp - 0x7c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], edi
dec edi
test edi, edi
jg 0x4672d2
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4672ce
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4672ce
push 0
push dword [edx + 4]
call ebx
jmp 0x4672d2
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], 0x4c
call fcn.00404da0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x31
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], 0x4d
call fcn.00404da0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x31
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], 0x4e
call fcn.00404da0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x31
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], 0x4f
call fcn.00404da0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x31
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], 0x50
call fcn.00404da0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x31
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], 0x51
call fcn.00404da0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x31
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], 0x52
call fcn.00404da0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x31
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], 0x53
call fcn.00404da0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x31
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], 0x54
call fcn.00404da0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x31
call fcn.00404e00
mov esi, dword [ebp - 0xb0]
lea eax, [ebp - 0x80]
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], 0x55
call fcn.00404da0
lea ecx, [ebp - 0xb0]
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