Function at 0x4bf980
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e2765
mov eax, dword fs:[0]
push eax
sub esp, 0x65c
mov eax, dword [0x55b090]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0x24]
lea ecx, [ebp - 0x650]
add eax, dword [ebp + 0x30]
add eax, dword [ebp + 0x34]
mov dword [ebp - 0x624], 0
mov dword [edi + 0x1eb0], eax
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x624]
call fcn.004c6fd0
push dword [ebp + 8]
mov byte [ebp - 4], 1
push dword [eax]
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0xda0]
lea esi, [edi + 0xda0]
mov ecx, dword [ebp - 0x650]
mov dword [ebp - 0x624], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0d91
test esi, esi
jne 0x4bfa45
xor ecx, ecx
jmp 0x4bfa48
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4bfa66
mov edx, dword [ebp - 0x624]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
push dword [ebp + 0x10]
lea ecx, [ebp - 0x218]
push dword [ebp + 0xc]
call fcn.004fb380
add esp, 8
lea ecx, [ebp - 0x654]
mov edx, 0x5238cc
call fcn.004c6fd0
mov byte [ebp - 4], 2
mov ecx, 1
mov edx, dword [eax]
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x624], ecx
lea ecx, [ebp - 0x218]
call fcn.004bb200
test eax, eax
je 0x4bfb5b
mov edx, 0x51a990
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov dword [ebp - 0x668], eax
mov dword [ebp - 4], 3
mov eax, 3
mov esi, dword [0x56d744]
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x624], eax
cmp esi, dword [0x56d710]
jge 0x4bfaff
cmp esi, 0xffffffff
jle 0x4bfaff
mov eax, dword [0x56d704]
mov esi, dword [eax + esi*4]
jmp 0x4bfb1d
mov edx, 0x525c20
lea ecx, [ebp - 0x664]
call fcn.004c6fd0
lea ecx, [ebp - 0x664]
mov esi, dword [eax]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x668]
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4bfb4b
test cx, cx
je 0x4bfb47
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4bfb4b
add eax, 4
add esi, 4
test cx, cx
jne 0x4bfb25
xor eax, eax
jmp 0x4bfb50
sbb eax, eax
or eax, 1
mov byte [ebp - 0x655], 1
test eax, eax
je 0x4bfb62
mov byte [ebp - 0x655], 0
mov eax, dword [ebp - 0x660]
test al, 2
je 0x4bfb87
and eax, 0xfffffffd
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x660]
and eax, 0xfffffffe
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x654]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x655], 0
je 0x4bfd5e
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
mov edx, 0x5238d4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238dc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238e4
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238ec
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238f4
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238fc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523904
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x523910
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov edx, eax
lea ecx, [ebp - 0x218]
call fcn.004a0950
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523920
lea ecx, [ebp - 0x664]
call fcn.004c6fd0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x660]
mov edx, dword [eax]
or ecx, 4
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x624], ecx
lea ecx, [ebp - 0x218]
call fcn.004bb200
test eax, eax
je 0x4bfe47
mov edx, 0x523930
lea ecx, [ebp - 0x668]
call fcn.004c6fd0
mov dword [ebp - 0x65c], eax
mov dword [ebp - 4], 0xe
mov eax, dword [ebp - 0x660]
mov esi, dword [0x56d744]
or eax, 8
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x624], eax
cmp esi, dword [0x56d710]
jge 0x4bfdeb
cmp esi, 0xffffffff
jle 0x4bfdeb
mov eax, dword [0x56d704]
mov esi, dword [eax + esi*4]
jmp 0x4bfe09
mov edx, 0x525c20
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
lea ecx, [ebp - 0x654]
mov esi, dword [eax]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x65c]
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4bfe37
test cx, cx
je 0x4bfe33
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4bfe37
add eax, 4
add esi, 4
test cx, cx
jne 0x4bfe11
xor eax, eax
jmp 0x4bfe3c
sbb eax, eax
or eax, 1
mov byte [ebp - 0x655], 1
test eax, eax
je 0x4bfe4e
mov byte [ebp - 0x655], 0
mov eax, dword [ebp - 0x660]
test al, 8
je 0x4bfe73
and eax, 0xfffffff7
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x660]
and eax, 0xfffffffb
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x664]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x655], 0
je 0x4c004a
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
mov edx, 0x5238dc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238d4
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238ec
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238e4
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238fc
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238f4
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523910
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x523904
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov edx, eax
lea ecx, [ebp - 0x218]
call fcn.004a0950
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0xed8]
lea esi, [edi + 0xed8]
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0d9b
test esi, esi
jne 0x4c006f
xor ecx, ecx
jmp 0x4c0072
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0090
mov ecx, dword [esi + 0x20]
lea edx, [ebp - 0x218]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x64c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f10
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x14]
mov byte [ebp - 4], 0x19
push dword [eax]
lea eax, [ebp - 0x64c]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1010]
lea esi, [edi + 0x1010]
mov ecx, dword [ebp - 0x64c]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0dab
test esi, esi
jne 0x4c010a
xor ecx, ecx
jmp 0x4c010d
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c012b
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x648]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f30
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x18]
mov byte [ebp - 4], 0x1b
push dword [eax]
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1148]
lea esi, [edi + 0x1148]
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0db5
test esi, esi
jne 0x4c01a5
xor ecx, ecx
jmp 0x4c01a8
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c01c6
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x644]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f50
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x1c]
mov byte [ebp - 4], 0x1d
push dword [eax]
lea eax, [ebp - 0x644]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1280]
lea esi, [edi + 0x1280]
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0dbf
test esi, esi
jne 0x4c0240
xor ecx, ecx
jmp 0x4c0243
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0261
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x640]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f70
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x20]
mov byte [ebp - 4], 0x1f
push dword [eax]
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x13b8]
lea esi, [edi + 0x13b8]
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0dc9
test esi, esi
jne 0x4c02db
xor ecx, ecx
jmp 0x4c02de
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c02fc
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x63c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f10
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x24]
mov byte [ebp - 4], 0x21
push dword [eax]
lea eax, [ebp - 0x63c]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x14f0]
lea esi, [edi + 0x14f0]
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0dd3
test esi, esi
jne 0x4c0376
xor ecx, ecx
jmp 0x4c0379
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0397
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x420]
push dword [ebp + 0x28]
call fcn.004fb380
add esp, 8
lea ecx, [ebp - 0x664]
mov edx, 0x5238cc
call fcn.004c6fd0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x660]
mov edx, dword [eax]
or ecx, 0x10
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x624], ecx
lea ecx, [ebp - 0x420]
call fcn.004bb200
test eax, eax
je 0x4c0496
mov edx, 0x51a990
lea ecx, [ebp - 0x668]
call fcn.004c6fd0
mov dword [ebp - 0x65c], eax
mov dword [ebp - 4], 0x23
mov eax, dword [ebp - 0x660]
mov esi, dword [0x56d744]
or eax, 0x20
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x624], eax
cmp esi, dword [0x56d710]
jge 0x4c0438
cmp esi, 0xffffffff
jle 0x4c0438
mov eax, dword [0x56d704]
mov esi, dword [eax + esi*4]
jmp 0x4c0456
mov edx, 0x525c20
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
lea ecx, [ebp - 0x654]
mov esi, dword [eax]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x65c]
mov eax, dword [eax]
nop
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4c0486
test cx, cx
je 0x4c0482
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4c0486
add eax, 4
add esi, 4
test cx, cx
jne 0x4c0460
xor eax, eax
jmp 0x4c048b
sbb eax, eax
or eax, 1
mov byte [ebp - 0x655], 1
test eax, eax
je 0x4c049d
mov byte [ebp - 0x655], 0
mov eax, dword [ebp - 0x660]
test al, 0x20
je 0x4c04c2
and eax, 0xffffffdf
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x660]
and eax, 0xffffffef
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x664]
mov dword [ebp - 0x660], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x655], 0
je 0x4c0699
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
mov edx, 0x5238d4
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238dc
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x24
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238e4
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238ec
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x24
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238f4
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238fc
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x24
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523904
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x523910
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x24
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x104
lea eax, [ebp - 0x420]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov edx, eax
lea ecx, [ebp - 0x420]
call fcn.004a0950
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0x20
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523920
lea ecx, [ebp - 0x664]
call fcn.004c6fd0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x660]
mov edx, dword [eax]
or ecx, 0x40
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x624], ecx
lea ecx, [ebp - 0x420]
call fcn.004bb200
test eax, eax
je 0x4c0786
mov edx, 0x523930
lea ecx, [ebp - 0x668]
call fcn.004c6fd0
mov dword [ebp - 0x65c], eax
mov dword [ebp - 4], 0x2e
mov eax, dword [ebp - 0x660]
mov esi, dword [0x56d744]
or eax, 0x80
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x624], eax
cmp esi, dword [0x56d710]
jge 0x4c0728
cmp esi, 0xffffffff
jle 0x4c0728
mov eax, dword [0x56d704]
mov esi, dword [eax + esi*4]
jmp 0x4c0746
mov edx, 0x525c20
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
lea ecx, [ebp - 0x654]
mov esi, dword [eax]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x65c]
mov eax, dword [eax]
nop
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4c0776
test cx, cx
je 0x4c0772
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4c0776
add eax, 4
add esi, 4
test cx, cx
jne 0x4c0750
xor eax, eax
jmp 0x4c077b
sbb eax, eax
or eax, 1
mov byte [ebp - 0x655], 1
test eax, eax
je 0x4c078d
mov byte [ebp - 0x655], 0
mov ecx, dword [ebp - 0x660]
test cl, cl
jns 0x4c07a3
lea ecx, [ebp - 0x668]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x664]
mov dword [ebp - 4], 0x20
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0x655], 0
je 0x4c0971
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__18]
mov edx, 0x5238dc
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x65c]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238d4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x2f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238ec
lea ecx, [ebp - 0x668]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238e4
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x668]
mov byte [ebp - 4], 0x2f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x5238fc
lea ecx, [ebp - 0x664]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x5238f4
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x664]
mov byte [ebp - 4], 0x2f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, 0x523910
lea ecx, [ebp - 0x660]
call fcn.004c6fd0
mov esi, eax
mov edx, 0x523904
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x624]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x2f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x104
lea eax, [ebp - 0x420]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x624]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov edx, eax
lea ecx, [ebp - 0x420]
call fcn.004a0950
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0x20
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1628]
lea esi, [edi + 0x1628]
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0ddd
test esi, esi
jne 0x4c0996
xor ecx, ecx
jmp 0x4c0999
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c09b7
mov ecx, dword [esi + 0x20]
lea edx, [ebp - 0x420]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x638]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f10
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x30]
mov byte [ebp - 4], 0x39
push dword [eax]
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1760]
lea esi, [edi + 0x1760]
mov ecx, dword [ebp - 0x638]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0ded
test esi, esi
jne 0x4c0a31
xor ecx, ecx
jmp 0x4c0a34
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0a52
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x634]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f30
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x34]
mov byte [ebp - 4], 0x3b
push dword [eax]
lea eax, [ebp - 0x634]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1898]
lea esi, [edi + 0x1898]
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0df7
test esi, esi
jne 0x4c0acc
xor ecx, ecx
jmp 0x4c0acf
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0aed
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x630]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f50
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x38]
mov byte [ebp - 4], 0x3d
push dword [eax]
lea eax, [ebp - 0x630]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x19d0]
lea esi, [edi + 0x19d0]
mov ecx, dword [ebp - 0x630]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0e01
test esi, esi
jne 0x4c0b67
xor ecx, ecx
jmp 0x4c0b6a
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0b88
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x62c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov edx, 0x523f70
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x654]
call fcn.004c6fd0
push dword [ebp + 0x3c]
mov byte [ebp - 4], 0x3f
push dword [eax]
lea eax, [ebp - 0x62c]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
add esp, 0xc
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [edi + 0x1b08]
lea esi, [edi + 0x1b08]
mov ecx, dword [ebp - 0x62c]
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0e0b
test esi, esi
jne 0x4c0c02
xor ecx, ecx
jmp 0x4c0c05
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0c23
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
push 0x200
lea eax, [ebp - 0x620]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x654]
mov edx, 0x523f90
call fcn.004c6fd0
push 0x100
lea ecx, [ebp - 0x620]
mov byte [ebp - 4], 0x40
push ecx
push dword [eax]
mov ecx, 0x56d704
call fcn.004b3ed0
lea ecx, [ebp - 0x654]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x628]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x620]
push dword [edi + 0x1eb0]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
mov eax, dword [edi + 0x1c40]
lea esi, [edi + 0x1c40]
mov ecx, dword [ebp - 0x628]
add esp, 0xc
mov dword [ebp - 0x654], ecx
mov edx, dword [eax + 0x17c]
cmp eax, vtable.CLabel.0
jne 0x4c0e15
test esi, esi
jne 0x4c0ccf
xor ecx, ecx
jmp 0x4c0cd2
mov ecx, dword [esi + 0x20]
call fcn.00424c10
test eax, eax
je 0x4c0cf0
mov edx, dword [ebp - 0x654]
mov ecx, dword [esi + 0x20]
call fcn.004f6650
mov ecx, esi
call fcn.004252d0
lea ecx, [ebp - 0x628]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x62c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x630]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x634]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x638]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x63c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x640]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x644]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x648]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x64c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x650]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00482396
mov esp, ebp
pop ebp
ret 0x38
push ecx
mov ecx, esi
call edx
jmp 0x4bfa66
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call edx
jmp 0x4c0090
push ecx
mov ecx, esi
call edx
jmp 0x4c012b
push ecx
mov ecx, esi
call edx
jmp 0x4c01c6
push ecx
mov ecx, esi
call edx
jmp 0x4c0261
push ecx
mov ecx, esi
call edx
jmp 0x4c02fc
push ecx
mov ecx, esi
call edx
jmp 0x4c0397
lea eax, [ebp - 0x420]
mov ecx, esi
push eax
call edx
jmp 0x4c09b7
push ecx
mov ecx, esi
call edx
jmp 0x4c0a52
push ecx
mov ecx, esi
call edx
jmp 0x4c0aed
push ecx
mov ecx, esi
call edx
jmp 0x4c0b88
push ecx
mov ecx, esi
call edx
jmp 0x4c0c23
push ecx
mov ecx, esi
call edx
jmp 0x4c0cf0