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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x581e2e
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x5ca104]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
push 0x5a74c0
call fcn.00404e80
push str.https:__dll.pdfxd.com_UserAgreement_
lea ecx, [ebx + 4]
mov dword [ebp - 4], 0
call fcn.00404e80
push str.http:__passport.pdfxd.com_account
lea ecx, [ebx + 8]
mov byte [ebp - 4], 1
call fcn.00404e80
push str.http:__archive.pdfxd.com_xundu_cef.7z
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 2
call fcn.00404e80
push str.https:__apis.pdfxd.com
lea ecx, [ebx + 0x10]
mov byte [ebp - 4], 3
call fcn.00404e80
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 4
push str.https:__dev.pdfxd.com
call fcn.00404e80
push str.https:__dll.pdfxd.com
lea ecx, [ebx + 0x18]
mov byte [ebp - 4], 5
call fcn.00404e80
lea ecx, [ebx + 0x1c]
mov byte [ebp - 4], 6
push str.https:__dll_dev.pdfxd.com
call fcn.00404e80
push str.http:__report.pdfxd.com
lea ecx, [ebx + 0x20]
mov byte [ebp - 4], 7
call fcn.00404e80
mov ecx, ebx
mov byte [ebp - 4], 8
add ecx, 0x24
push str.http:__report_dev.pdfxd.com
call fcn.00404e80
mov ecx, ebx
mov byte [ebp - 4], 9
push str._third_anonymous
lea ecx, [ecx + 0x28]
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xa
add eax, 0x2c
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], 0xb
add eax, 0x30
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], 0xc
add eax, 0x34
push str._third_wx_qrcode_login
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.00404e80
mov byte [ebp - 4], 0xd
mov eax, ebx
add eax, 0x38
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], 0xe
add eax, 0x3c
push str._third_phone_sms_code
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0xf
add eax, 0x40
push str._account_v3_mobile_login
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x10
add eax, 0x44
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], 0x11
add eax, 0x48
push str._account_v1_api_register
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x12
add eax, 0x4c
push str._account_v3_passport_login
mov ecx, eax
mov dword [ebp - 0x40], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x13
add eax, 0x50
push str._third_qq_login_connect
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x14
add eax, 0x54
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], 0x15
add eax, 0x58
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], 0x16
add eax, 0x5c
push str._account_v1_api_user_bind_list
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x17
add eax, 0x60
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], 0x18
add eax, 0x64
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], 0x19
add eax, 0x68
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], 0x1a
add eax, 0x6c
push str._app_config
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1b
add eax, 0x70
push str._cloud_v1_api_upgrade
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1c
add eax, 0x74
push str._customer_support
mov ecx, eax
mov dword [ebp - 0x64], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1d
add eax, 0x78
push str._customer_collection
mov ecx, eax
mov dword [ebp - 0x68], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1e
add eax, 0x7c
push str._customer_cloud_active
mov ecx, eax
mov dword [ebp - 0x6c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x1f
sub eax, 0xffffff80
push str._customer_dump_upload
mov ecx, eax
mov dword [ebp - 0x70], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x20
add eax, 0x84
push str._qh_payment.html
mov ecx, eax
mov dword [ebp - 0x74], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x21
add eax, 0x88
mov dword [ebp - 0x78], eax
push str._qh_special_pay.html
mov ecx, eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x22
add eax, 0x8c
push str._pricing.html
mov ecx, eax
mov dword [ebp - 0x7c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x23
add eax, 0x90
push str._cancel_pay.html
mov ecx, eax
mov dword [ebp - 0x8c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x24
add eax, 0x94
push str._close_pay.html
mov ecx, eax
mov dword [ebp - 0x90], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x25
add eax, 0x98
push str._qh_pricing.html
mov ecx, eax
mov dword [ebp - 0x94], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x26
add eax, 0x9c
push str._qh_cancel_pay.html
mov ecx, eax
mov dword [ebp - 0x98], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x27
add eax, 0xa0
push str._qh_close_pay.html
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x28
add eax, 0xa4
push str._lenovo_pricing.html
mov ecx, eax
mov dword [ebp - 0xa0], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x29
add eax, 0xa8
push str._lenovo_cancel_pay.html
mov ecx, eax
mov dword [ebp - 0xa4], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2a
add eax, 0xac
push str._lenovo_close_pay.html
mov ecx, eax
mov dword [ebp - 0xa8], eax
call fcn.00404e80
mov eax, ebx
mov byte [ebp - 4], 0x2b
add eax, 0xb0
mov dword [ebp - 0xac], eax
push str._v1_log
mov ecx, eax
call fcn.00404e80
mov byte [ebp - 4], 0x2c
mov eax, dword [ebx + 0x10]
sub eax, 0x10
push eax
call fcn.00405650
lea esi, [eax + 0x10]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x2d
mov eax, dword [ebx + 0x18]
sub eax, 0x10
push eax
call fcn.00405650
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 0x2e
mov eax, dword [ebx + 0x20]
sub eax, 0x10
push eax
call fcn.00405650
add esp, 0xc
lea ebx, [eax + 0x10]
mov dword [ebp - 0x80], ebx
mov byte [ebp - 4], 0x2f
call fcn.00439290
test eax, eax
je 0x466d4a
mov eax, dword [ebp - 0x18]
lea ecx, [esi - 0x10]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x10], eax
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x466cc6
cmp dword [ecx + 0xc], 0
jl 0x466cba
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466cb7
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 0x466cc6
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 + 0x1c]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x466d08
cmp dword [edi + 0xc], 0
jl 0x466cfc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x466cfc
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 0x466d08
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 + 0x24]
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x466d4a
cmp dword [ebx + 0xc], 0
jl 0x466d3e
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x466d3e
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 0x466d4a
push dword [edx - 0xc]
lea ecx, [ebp - 0x80]
push edx
call fcn.00405730
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
add ebx, 0x28
push ebx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004048b0
add esp, 0xc
mov byte [ebp - 4], 0x30
mov edx, dword [eax]
mov edi, dword [ebx]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x466da3
cmp dword [edi + 0xc], 0
jl 0x466d98
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x466d98
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 0x466da3
push dword [edx - 0xc]
mov ecx, ebx
push edx
call fcn.00405730
mov byte [ebp - 4], 0x2f
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 0x466ded
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466de9
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466de9
push 0
push dword [edx + 4]
call ebx
jmp 0x466ded
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], 0x31
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 0x466e5c
cmp dword [ecx + 0xc], 0
jl 0x466e51
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466e4b
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 0x466e5c
mov eax, dword [ebp - 0x84]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466e9d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466e99
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466e99
push 0
push dword [edx + 4]
call ebx
jmp 0x466e9d
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], 0x32
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 0x466f0c
cmp dword [ecx + 0xc], 0
jl 0x466f01
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466efb
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 0x466f0c
mov eax, dword [ebp - 0x88]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466f4d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466f49
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466f49
push 0
push dword [edx + 4]
call ebx
jmp 0x466f4d
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], 0x33
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 0x466fb0
cmp dword [ecx + 0xc], 0
jl 0x466fa5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x466fa2
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 0x466fb0
mov eax, dword [ebp - 0x24]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x466ff1
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x466fed
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x466fed
push 0
push dword [edx + 4]
call ebx
jmp 0x466ff1
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], 0x34
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 0x467054
cmp dword [ecx + 0xc], 0
jl 0x467049
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467046
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 0x467054
mov eax, dword [ebp - 0x28]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467095
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467091
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467091
push 0
push dword [edx + 4]
call ebx
jmp 0x467095
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], 0x35
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 0x4670f8
cmp dword [ecx + 0xc], 0
jl 0x4670ed
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4670ea
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 0x4670f8
mov eax, dword [ebp - 0x2c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467139
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467135
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467135
push 0
push dword [edx + 4]
call ebx
jmp 0x467139
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], 0x36
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 0x46719c
cmp dword [ecx + 0xc], 0
jl 0x467191
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46718e
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 0x46719c
mov eax, dword [ebp - 0x30]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4671dd
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4671d9
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4671d9
push 0
push dword [edx + 4]
call ebx
jmp 0x4671dd
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], 0x37
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 0x467240
cmp dword [ecx + 0xc], 0
jl 0x467235
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467232
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 0x467240
mov eax, dword [ebp - 0x34]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467281
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46727d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46727d
push 0
push dword [edx + 4]
call ebx
jmp 0x467281
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], 0x38
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 0x4672e4
cmp dword [ecx + 0xc], 0
jl 0x4672d9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4672d6
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 0x4672e4
mov eax, dword [ebp - 0x38]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467325
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467321
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467321
push 0
push dword [edx + 4]
call ebx
jmp 0x467325
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], 0x39
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 0x467388
cmp dword [ecx + 0xc], 0
jl 0x46737d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46737a
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 0x467388
mov eax, dword [ebp - 0x3c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4673c9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4673c5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4673c5
push 0
push dword [edx + 4]
call ebx
jmp 0x4673c9
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], 0x3a
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 0x46742c
cmp dword [ecx + 0xc], 0
jl 0x467421
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46741e
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 0x46742c
mov eax, dword [ebp - 0x40]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46746d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467469
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467469
push 0
push dword [edx + 4]
call ebx
jmp 0x46746d
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], 0x3b
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 0x4674d0
cmp dword [ecx + 0xc], 0
jl 0x4674c5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4674c2
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 0x4674d0
mov eax, dword [ebp - 0x44]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467511
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46750d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46750d
push 0
push dword [edx + 4]
call ebx
jmp 0x467511
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], 0x3c
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 0x467574
cmp dword [ecx + 0xc], 0
jl 0x467569
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467566
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 0x467574
mov eax, dword [ebp - 0x48]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4675b5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4675b1
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4675b1
push 0
push dword [edx + 4]
call ebx
jmp 0x4675b5
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], 0x3d
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 0x467618
cmp dword [ecx + 0xc], 0
jl 0x46760d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46760a
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 0x467618
mov eax, dword [ebp - 0x4c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467659
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467655
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467655
push 0
push dword [edx + 4]
call ebx
jmp 0x467659
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], 0x3e
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 0x4676bc
cmp dword [ecx + 0xc], 0
jl 0x4676b1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4676ae
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 0x4676bc
mov eax, dword [ebp - 0x50]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4676fd
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4676f9
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4676f9
push 0
push dword [edx + 4]
call ebx
jmp 0x4676fd
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], 0x3f
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 0x467760
cmp dword [ecx + 0xc], 0
jl 0x467755
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467752
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 0x467760
mov eax, dword [ebp - 0x54]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4677a1
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x46779d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x46779d
push 0
push dword [edx + 4]
call ebx
jmp 0x4677a1
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], 0x40
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 0x467804
cmp dword [ecx + 0xc], 0
jl 0x4677f9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4677f6
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 0x467804
mov eax, dword [ebp - 0x58]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467845
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467841
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467841
push 0
push dword [edx + 4]
call ebx
jmp 0x467845
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], 0x41
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 0x4678a8
cmp dword [ecx + 0xc], 0
jl 0x46789d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46789a
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 0x4678a8
mov eax, dword [ebp - 0x5c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4678e9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4678e5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x4678e5
push 0
push dword [edx + 4]
call ebx
jmp 0x4678e9
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], 0x42
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 0x46794c
cmp dword [ecx + 0xc], 0
jl 0x467941
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x46793e
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 0x46794c
mov eax, dword [ebp - 0x60]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x46798d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467989
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467989
push 0
push dword [edx + 4]
call ebx
jmp 0x46798d
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], 0x43
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 0x4679f0
cmp dword [ecx + 0xc], 0
jl 0x4679e5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4679e2
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 0x4679f0
mov eax, dword [ebp - 0x64]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467a31
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467a2d
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467a2d
push 0
push dword [edx + 4]
call ebx
jmp 0x467a31
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], 0x44
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 0x467a94
cmp dword [ecx + 0xc], 0
jl 0x467a89
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467a86
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 0x467a94
mov eax, dword [ebp - 0x68]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467ad5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467ad1
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467ad1
push 0
push dword [edx + 4]
call ebx
jmp 0x467ad5
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], 0x45
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 0x467b38
cmp dword [ecx + 0xc], 0
jl 0x467b2d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467b2a
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 0x467b38
mov eax, dword [ebp - 0x6c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467b79
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467b75
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467b75
push 0
push dword [edx + 4]
call ebx
jmp 0x467b79
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], 0x46
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 0x467bdc
cmp dword [ecx + 0xc], 0
jl 0x467bd1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467bce
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 0x467bdc
mov eax, dword [ebp - 0x70]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467c1d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467c19
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467c19
push 0
push dword [edx + 4]
call ebx
jmp 0x467c1d
mov ecx, edx
call esi
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x20]
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 - 0x74]
lea edx, [esi - 0x10]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x467c80
cmp dword [ecx + 0xc], 0
jl 0x467c75
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467c72
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 0x467c80
mov eax, dword [ebp - 0x74]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467cc1
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467cbd
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467cbd
push 0
push dword [edx + 4]
call ebx
jmp 0x467cc1
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], 0x48
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 0x467d24
cmp dword [ecx + 0xc], 0
jl 0x467d19
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467d16
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 0x467d24
mov eax, dword [ebp - 0x78]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov eax, edi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x467d65
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467d61
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467d61
push 0
push dword [edx + 4]
call ebx
jmp 0x467d65
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], 0x49
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 0x467dc8
cmp dword [ecx + 0xc], 0
jl 0x467dbd
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x467dba
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 0x467dc8
mov eax, dword [ebp - 0x7c]
push dword [esi - 0xc]
mov ecx, eax
push esi
call fcn.00405730
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], edi
dec edi
test edi, edi
jg 0x467e07
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x467e03
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x467e03
push 0
push dword [edx + 4]
call ebx
jmp 0x467e07
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], 0x4a
call fcn.00404da0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x2f
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], 0x4b
call fcn.00404da0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x2f
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], 0x4c
call fcn.00404da0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x2f
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], 0x4d
call fcn.00404da0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2f
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], 0x4e
call fcn.00404da0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x2f
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], 0x4f
call fcn.00404da0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2f
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], 0x50
call fcn.00404da0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x2f
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], 0x51
call fcn.00404da0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2f
call fcn.00404e00
mov esi, dword [ebp - 0xac]
lea eax, [ebp - 0x80]
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], 0x52
call fcn.00404da0
lea ecx, [ebp - 0xac]
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