Function at 0x461f40
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 0x57c3eb
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 0x5a1310
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 0x4624f5
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 0x462471
cmp dword [ecx + 0xc], 0
jl 0x462465
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462462
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 0x462471
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 0x4624b3
cmp dword [edi + 0xc], 0
jl 0x4624a7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4624a7
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 0x4624b3
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 0x4624f5
cmp dword [ebx + 0xc], 0
jl 0x4624e9
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x4624e9
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 0x4624f5
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 0x46254e
cmp dword [edi + 0xc], 0
jl 0x462543
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x462543
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 0x46254e
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 0x462598
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462594
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462594
push 0
push dword [edx + 4]
call ebx
jmp 0x462598
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 0x462607
cmp dword [ecx + 0xc], 0
jl 0x4625fc
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4625f6
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 0x462607
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 0x462648
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462644
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462644
push 0
push dword [edx + 4]
call ebx
jmp 0x462648
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 0x4626b7
cmp dword [ecx + 0xc], 0
jl 0x4626ac
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4626a6
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 0x4626b7
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 0x4626f8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4626f4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4626f4
push 0
push dword [edx + 4]
call ebx
jmp 0x4626f8
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 0x46275b
cmp dword [ecx + 0xc], 0
jl 0x462750
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46274d
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 0x46275b
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 0x46279c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462798
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462798
push 0
push dword [edx + 4]
call ebx
jmp 0x46279c
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 0x4627ff
cmp dword [ecx + 0xc], 0
jl 0x4627f4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4627f1
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 0x4627ff
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 0x462840
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46283c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46283c
push 0
push dword [edx + 4]
call ebx
jmp 0x462840
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 0x4628a3
cmp dword [ecx + 0xc], 0
jl 0x462898
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462895
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 0x4628a3
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 0x4628e4
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4628e0
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4628e0
push 0
push dword [edx + 4]
call ebx
jmp 0x4628e4
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 0x462947
cmp dword [ecx + 0xc], 0
jl 0x46293c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462939
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 0x462947
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 0x462988
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462984
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462984
push 0
push dword [edx + 4]
call ebx
jmp 0x462988
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 0x4629eb
cmp dword [ecx + 0xc], 0
jl 0x4629e0
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4629dd
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 0x4629eb
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 0x462a2c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462a28
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462a28
push 0
push dword [edx + 4]
call ebx
jmp 0x462a2c
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 0x462a8f
cmp dword [ecx + 0xc], 0
jl 0x462a84
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462a81
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 0x462a8f
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 0x462ad0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462acc
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462acc
push 0
push dword [edx + 4]
call ebx
jmp 0x462ad0
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 0x462b33
cmp dword [ecx + 0xc], 0
jl 0x462b28
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462b25
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 0x462b33
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 0x462b74
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462b70
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462b70
push 0
push dword [edx + 4]
call ebx
jmp 0x462b74
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 0x462bd7
cmp dword [ecx + 0xc], 0
jl 0x462bcc
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462bc9
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 0x462bd7
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 0x462c18
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462c14
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462c14
push 0
push dword [edx + 4]
call ebx
jmp 0x462c18
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 0x462c7b
cmp dword [ecx + 0xc], 0
jl 0x462c70
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462c6d
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 0x462c7b
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 0x462cbc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462cb8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462cb8
push 0
push dword [edx + 4]
call ebx
jmp 0x462cbc
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 0x462d1f
cmp dword [ecx + 0xc], 0
jl 0x462d14
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462d11
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 0x462d1f
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 0x462d60
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462d5c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462d5c
push 0
push dword [edx + 4]
call ebx
jmp 0x462d60
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 0x462dc3
cmp dword [ecx + 0xc], 0
jl 0x462db8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462db5
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 0x462dc3
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 0x462e04
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462e00
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462e00
push 0
push dword [edx + 4]
call ebx
jmp 0x462e04
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 0x462e67
cmp dword [ecx + 0xc], 0
jl 0x462e5c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462e59
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 0x462e67
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 0x462ea8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462ea4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462ea4
push 0
push dword [edx + 4]
call ebx
jmp 0x462ea8
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 0x462f0b
cmp dword [ecx + 0xc], 0
jl 0x462f00
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462efd
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 0x462f0b
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 0x462f4c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462f48
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462f48
push 0
push dword [edx + 4]
call ebx
jmp 0x462f4c
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 0x462faf
cmp dword [ecx + 0xc], 0
jl 0x462fa4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x462fa1
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 0x462faf
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 0x462ff0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x462fec
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x462fec
push 0
push dword [edx + 4]
call ebx
jmp 0x462ff0
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 0x463053
cmp dword [ecx + 0xc], 0
jl 0x463048
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x463045
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 0x463053
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 0x463094
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x463090
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x463090
push 0
push dword [edx + 4]
call ebx
jmp 0x463094
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 0x4630f7
cmp dword [ecx + 0xc], 0
jl 0x4630ec
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4630e9
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 0x4630f7
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 0x463138
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x463134
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x463134
push 0
push dword [edx + 4]
call ebx
jmp 0x463138
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 0x46319b
cmp dword [ecx + 0xc], 0
jl 0x463190
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46318d
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 0x46319b
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 0x4631dc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4631d8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4631d8
push 0
push dword [edx + 4]
call ebx
jmp 0x4631dc
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 0x46323f
cmp dword [ecx + 0xc], 0
jl 0x463234
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x463231
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 0x46323f
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 0x463280
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46327c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46327c
push 0
push dword [edx + 4]
call ebx
jmp 0x463280
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 0x4632e3
cmp dword [ecx + 0xc], 0
jl 0x4632d8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4632d5
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 0x4632e3
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 0x463324
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x463320
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x463320
push 0
push dword [edx + 4]
call ebx
jmp 0x463324
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 0x463387
cmp dword [ecx + 0xc], 0
jl 0x46337c
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x463379
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 0x463387
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 0x4633c8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4633c4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4633c4
push 0
push dword [edx + 4]
call ebx
jmp 0x4633c8
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 0x46342b
cmp dword [ecx + 0xc], 0
jl 0x463420
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46341d
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 0x46342b
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 0x46346c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x463468
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x463468
push 0
push dword [edx + 4]
call ebx
jmp 0x46346c
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 0x4634cf
cmp dword [ecx + 0xc], 0
jl 0x4634c4
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4634c1
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 0x4634cf
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 0x463510
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46350c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46350c
push 0
push dword [edx + 4]
call ebx
jmp 0x463510
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 0x463573
cmp dword [ecx + 0xc], 0
jl 0x463568
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x463565
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 0x463573
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 0x4635b2
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4635ae
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4635ae
push 0
push dword [edx + 4]
call ebx
jmp 0x4635b2
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