Function at 0x4381f0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e6dcb
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x672014]
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, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp + 0x14]
movzx ecx, byte [edi + 8]
mov dword [ebp - 0x320], eax
movzx eax, byte [edi + 9]
shl cx, 8
or cx, ax
mov dword [ebp - 0x310], edi
movzx ecx, cx
mov al, cl
mov byte [ebp - 0x59], 0
and al, 0x1f
add al, 0x40
mov byte [ebp - 0x5a], al
mov eax, ecx
shr eax, 5
and al, 0x1f
shr ecx, 0xa
add al, 0x40
and cl, 0x1f
mov byte [ebp - 0x5b], al
add cl, 0x40
mov eax, dword [0x67e3a8]
mov byte [ebp - 0x5c], cl
test eax, eax
jne 0x4382ab
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x31c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x43829d
push ecx
mov ecx, eax
call fcn.0041d120
jmp 0x43829f
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a8], eax
cmp dword [eax + 4], 3
jl 0x4386da
call fcn.0041d300
sub esp, 8
lea ecx, [ebp - 0x674]
mov edi, eax
call fcn.00415530
lea ecx, [ebp - 0x8c]
mov dword [ebp - 4], 1
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.004075f5
lea ecx, [ebp - 0x54]
call fcn.00407dfc
xor esi, esi
mov byte [ebp - 4], 3
cmp dword [edi + 0xc], esi
jle 0x43831f
cmp esi, 0xa
jge 0x43831f
push 2
push 0x637484
lea ecx, [ebp - 0x54]
call fcn.0041df10
inc esi
cmp esi, dword [edi + 0xc]
jl 0x438305
lea ecx, [ebp - 0xa4]
call fcn.00407dfc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00407dfc
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xa4]
mov ecx, edi
push eax
call fcn.0041d380
cmp dword [ebp - 0x40], 8
lea eax, [ebp - 0x54]
push 0x2040
cmovae eax, dword [ebp - 0x54]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x30c]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x664]
lea edx, [ebp - 0x664]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 6
lea edx, [ebp - 0xa4]
cmp dword [ebp - 0x90], 8
lea ecx, [ebp - 0x664]
push eax
cmovae edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 5
call fcn.004130d0
mov esi, eax
lea eax, [ebp - 0x330]
push 0x10
push eax
call fcn.005b7368
add esp, 0x1c
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x4383e0
xor ecx, ecx
jmp 0x4383e7
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x36c]
push 6
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x34c]
push eax
call fcn.005b737c
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 7
lea edx, [ebp - 0x74]
cmp dword [ebp - 0x60], 8
push ecx
cmovae edx, dword [ebp - 0x74]
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.004130d0
push 0
mov edi, eax
lea eax, [ebp - 0x35c]
push 5
push eax
call fcn.005b7396
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x338]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x7c]
add esp, 0x40
mov byte [ebp - 4], 8
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 5
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x314]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x438536
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x438536
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x674]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 9
cmp esi, 0x67e5fc
je 0x4385fb
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x4385bb
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x438577
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x4385b2
test byte [0x67e5fc], 0x1f
je 0x43858e
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x43859a
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x4385a6
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x4385b0
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 5
call fcn.00407420
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00407420
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 3
call fcn.00407420
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00407420
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00407420
lea ecx, [ebp - 0x60c]
mov dword [ebp - 4], 0xa
call fcn.00415410
mov byte [ebp - 4], 0xb
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x60c]
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov dword [ebp - 4], 0xffffffff
call fcn.0041d300
mov ecx, dword [0x67e60c]
mov dword [ebp - 4], 0xd
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push ecx
cmovae edx, dword [0x67e5fc]
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.004130d0
mov edx, str.Manufacturer_ID:
mov ecx, eax
call fcn.00411a20
lea edx, [ebp - 0x5c]
mov ecx, eax
call fcn.00411a20
push eax
call fcn.00414150
mov edi, dword [ebp - 0x310]
add esp, 0xc
movzx ecx, byte [edi + 0xb]
sub esp, 8
movzx eax, byte [edi + 0xa]
shl cx, 8
or cx, ax
movzx esi, cx
lea ecx, [ebp - 0x4e4]
call fcn.0043bf30
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x4d4]
mov eax, dword [ebp - 0x4e4]
push esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x4c4], 4
mov dword [ebp + eax - 0x4c0], 0
mov eax, dword [ebp - 0x4e4]
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x4a4], 0x30
mov eax, dword [ebp - 0x4d4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0x4d4]
mov eax, dword [ebp - 0x4d4]
mov eax, dword [eax + 4]
or dword [ebp + eax - 0x4c0], 4
call fcn.0043c9e0
movzx esi, byte [edi + 0xb]
lea ecx, [ebp - 0x434]
movzx eax, byte [edi + 0xa]
sub esp, 8
shl esi, 8
or esi, eax
movzx eax, byte [edi + 9]
shl esi, 8
or esi, eax
movzx eax, byte [edi + 8]
shl esi, 8
or esi, eax
call fcn.0043bf30
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x424]
mov eax, dword [ebp - 0x434]
push esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x414], 8
mov dword [ebp + eax - 0x410], 0
mov eax, dword [ebp - 0x434]
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x3f4], 0x30
mov eax, dword [ebp - 0x424]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx + 0x14], eax
lea ecx, [ebp - 0x424]
mov eax, dword [ebp - 0x424]
mov eax, dword [eax + 4]
or dword [ebp + eax - 0x410], 4
call fcn.0043c800
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x434]
call fcn.0043bdf0
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x43882c
mov eax, dword [eax]
lea ecx, [ebp - 0x2fc]
push 3
mov dword [ebp - 0x300], ecx
lea ecx, [ebp - 0x300]
push eax
call fcn.00410cd0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xec]
push dword [ebp - 0x300]
call fcn.00407456
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x300]
cmp eax, ecx
je 0x438878
push eax
call fcn.005bf75a
add esp, 4
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x14
call fcn.0040747b
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Name.virtual_0], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x4388b0
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4388c5
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x4388c7
call edx
add eax, 0x10
lea ecx, [ebp - 0x30c]
cmp dword [ebp - 0xd8], 8
mov dword [ebp - 0x308], eax
lea eax, [ebp - 0xec]
cmovae eax, dword [ebp - 0xec]
push eax
call fcn.00446330
push 0
push 0x116ee
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x15
call fcn.0041eb10
push dword [ebp - 0x318]
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x16
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x10c]
mov dword [ebp - method.srl::GroupID.virtual_0], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x14
call fcn.00446220
mov eax, dword [0x67e3a8]
test eax, eax
jne 0x43897b
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x31c], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x438970
push ecx
mov ecx, eax
call fcn.0041d120
jmp 0x438972
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [0x67e3a8], eax
cmp dword [eax + 4], 3
jl 0x438dd7
call fcn.0041d300
sub esp, 8
lea ecx, [ebp - 0x724]
mov edi, eax
call fcn.00415530
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x19
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x1a
call fcn.004075f5
lea ecx, [ebp - 0x54]
call fcn.00407dfc
xor esi, esi
mov byte [ebp - 4], 0x1b
cmp dword [edi + 0xc], esi
jle 0x4389ec
cmp esi, 0xa
jge 0x4389ec
push 2
push 0x637484
lea ecx, [ebp - 0x54]
call fcn.0041df10
inc esi
cmp esi, dword [edi + 0xc]
jl 0x4389d2
lea ecx, [ebp - 0xa4]
call fcn.00407dfc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1c
call fcn.00407dfc
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0xa4]
mov ecx, edi
push eax
call fcn.0041d380
cmp dword [ebp - 0x40], 8
lea eax, [ebp - 0x54]
push 0x2040
cmovae eax, dword [ebp - 0x54]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x30c]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x714]
lea edx, [ebp - 0x714]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0xa4]
cmp dword [ebp - 0x90], 8
lea ecx, [ebp - 0x714]
push eax
cmovae edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x1d
call fcn.004130d0
mov esi, eax
lea eax, [ebp - 0x330]
push 0x10
push eax
call fcn.005b7368
add esp, 0x1c
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x438aad
xor ecx, ecx
jmp 0x438ab4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x36c]
push 6
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x34c]
push eax
call fcn.005b737c
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x74]
cmp dword [ebp - 0x60], 8
push ecx
cmovae edx, dword [ebp - 0x74]
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.004130d0
push 0
mov edi, eax
lea eax, [ebp - 0x35c]
push 5
push eax
call fcn.005b7396
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x338]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x7c]
add esp, 0x40
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x1d
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x314]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x438c03
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x438c03
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x724]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x21
cmp esi, 0x67e5fc
je 0x438cc8
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x438c88
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
jbe 0x438c44
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x438c7f
test byte [0x67e5fc], 0x1f
je 0x438c5b
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x438c67
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x438c73
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x438c7d
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x1d
call fcn.00407420
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1c
call fcn.00407420
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1b
call fcn.00407420
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1a
call fcn.00407420
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x19
call fcn.00407420
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 4], 0x22
call fcn.00415410
mov byte [ebp - 4], 0x23
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x6bc]
mov byte [ebp - 4], 0x24
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov byte [ebp - 4], 0x14
call fcn.0041d300
mov ecx, dword [0x67e60c]
mov byte [ebp - 4], 0x25
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push ecx
cmovae edx, dword [0x67e5fc]
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.004130d0
mov edx, str.Monitor_ID:
mov ecx, eax
call fcn.00411a20
mov ecx, dword [ebp - 0xdc]
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0xec]
cmp dword [ebp - 0xd8], 8
push ecx
cmovae edx, dword [ebp - 0xec]
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.004130d0
add esp, 0xc
mov edx, str._At_Index:
mov ecx, eax
push dword [ebp - 0x318]
call fcn.00411a20
mov ecx, eax
call fcn.00415650
push eax
call fcn.00414150
mov edi, dword [ebp - 0x310]
add esp, 4
lea ecx, [ebp - 0x1e4]
call fcn.00407505
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x27
call fcn.00407505
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x28
call fcn.00407505
xor eax, eax
mov byte [ebp - 4], 0x29
lea ecx, [edi + 3]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x31c], ecx
lea esi, [eax + 3]
lea esi, [esi + esi*8]
add esi, esi
cmp dword [0x67e3a8], 0
mov dword [ebp - 0x324], esi
mov al, byte [ecx + esi]
mov byte [ebp - 0x301], al
jne 0x438e5f
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x438e54
push ecx
mov ecx, eax
call fcn.0041d120
jmp 0x438e56
xor eax, eax
mov byte [ebp - 4], 0x29
mov dword [0x67e3a8], eax
mov edi, dword [0x67e3a8]
cmp dword [edi + 4], 3
jl 0x4392df
sub esp, 8
lea ecx, [ebp - 0x7d4]
call fcn.00415530
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x2c
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x2d
call fcn.004075f5
lea ecx, [ebp - 0x1a4]
call fcn.00407dfc
xor esi, esi
mov byte [ebp - 4], 0x2e
cmp dword [edi + 0xc], esi
jle 0x438ed5
cmp esi, 0xa
jge 0x438ed5
push 2
push 0x637484
lea ecx, [ebp - 0x1a4]
call fcn.0041df10
inc esi
cmp esi, dword [edi + 0xc]
jl 0x438eb8
lea ecx, [ebp - 0x12c]
call fcn.00407dfc
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
call fcn.00407dfc
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x12c]
mov ecx, edi
push eax
call fcn.0041d380
cmp dword [ebp - 0x190], 8
lea eax, [ebp - 0x1a4]
push 0x2040
cmovae eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x328], eax
lea eax, [ebp - 0x384]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x7c4]
lea edx, [ebp - 0x7c4]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x11c]
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x12c]
cmp dword [ebp - 0x118], 8
lea ecx, [ebp - 0x7c4]
push eax
cmovae edx, dword [ebp - 0x12c]
mov byte [ebp - 4], 0x30
call fcn.004130d0
mov esi, eax
lea eax, [ebp - 0x37c]
push 0x10
push eax
call fcn.005b7368
add esp, 0x1c
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x438fa5
xor ecx, ecx
jmp 0x438fac
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x514]
push 6
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x504]
push eax
call fcn.005b737c
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x17c]
mov byte [ebp - 4], 0x32
lea edx, [ebp - 0x18c]
cmp dword [ebp - 0x178], 8
push ecx
cmovae edx, dword [ebp - 0x18c]
mov ecx, eax
mov byte [ebp - 4], 0x30
call fcn.004130d0
push 0
mov edi, eax
lea eax, [ebp - 0x4f4]
push 5
push eax
call fcn.005b7396
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x374]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x164]
add esp, 0x40
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x174]
cmp dword [ebp - 0x160], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x174]
mov byte [ebp - 4], 0x30
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x328]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x43910d
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x43910d
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x7d4]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x34
cmp esi, 0x67e5fc
je 0x4391c9
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x439189
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
ja 0x438572
add eax, eax
cmp eax, 0x1000
jb 0x439180
test cl, 0x1f
jne 0x438572
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x438572
sub ecx, eax
cmp ecx, 4
jb 0x438572
cmp ecx, 0x23
ja 0x438572
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0x30
call fcn.00407420
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
call fcn.00407420
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x2e
call fcn.00407420
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0x2d
call fcn.00407420
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x2c
call fcn.00407420
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 0x35
call fcn.00415410
mov byte [ebp - 4], 0x36
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x76c]
mov byte [ebp - 4], 0x37
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov byte [ebp - 4], 0x29
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x43928c
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x439280
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x439282
xor ecx, ecx
mov byte [ebp - 4], 0x29
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov byte [ebp - 4], 0x39
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov byte [ebp - 4], 0x29
call fcn.004130d0
movzx ecx, byte [ebp - 0x301]
add esp, 4
mov edx, str.EDID_Type:
push ecx
mov ecx, eax
call fcn.00411a20
mov ecx, eax
call fcn.0040fdf0
push eax
call fcn.00414150
mov esi, dword [ebp - 0x324]
add esp, 4
mov edi, dword [ebp - 0x310]
cmp byte [esi + edi], 0
jne 0x4398ff
cmp byte [esi + edi + 1], 0
jne 0x4398ff
cmp byte [esi + edi + 2], 0
jne 0x4398ff
mov al, byte [ebp - 0x301]
cmp al, 0xfc
je 0x43931b
cmp al, 0xfe
je 0x43931b
cmp al, 0xff
jne 0x4398ff
cmp dword [0x67e3a8], 0
mov eax, dword [esi + edi + 0xd]
movq xmm0, qword [esi + edi + 5]
mov dword [ebp - 0x1c], eax
mov al, byte [esi + edi + 0x11]
movq qword [ebp - 0x24], xmm0
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], 0
jne 0x43936e
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0x3a
test eax, eax
je 0x439363
push ecx
mov ecx, eax
call fcn.0041d120
jmp 0x439365
xor eax, eax
mov byte [ebp - 4], 0x29
mov dword [0x67e3a8], eax
mov edi, dword [0x67e3a8]
cmp dword [edi + 4], 3
jl 0x4397c8
sub esp, 8
lea ecx, [ebp - 0x884]
call fcn.00415530
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x3c
call fcn.00407dfc
push 5
push str.TRACE
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x3d
call fcn.004075f5
lea ecx, [ebp - 0xbc]
call fcn.00407dfc
xor esi, esi
mov byte [ebp - 4], 0x3e
cmp dword [edi + 0xc], esi
jle 0x4393de
cmp esi, 0xa
jge 0x4393de
push 2
push 0x637484
lea ecx, [ebp - 0xbc]
call fcn.0041df10
inc esi
cmp esi, dword [edi + 0xc]
jl 0x4393c1
lea ecx, [ebp - 0x144]
call fcn.00407dfc
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x3f
call fcn.00407dfc
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x144]
mov ecx, edi
push eax
call fcn.0041d380
cmp dword [ebp - 0xa8], 8
lea eax, [ebp - 0xbc]
push 0x2040
cmovae eax, dword [ebp - 0xbc]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x354]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x874]
lea edx, [ebp - 0x874]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, edx
push ecx
call eax
mov eax, dword [ebp - 0x134]
mov byte [ebp - 4], 0x41
lea edx, [ebp - 0x144]
cmp dword [ebp - 0x130], 8
lea ecx, [ebp - 0x874]
push eax
cmovae edx, dword [ebp - 0x144]
mov byte [ebp - 4], 0x40
call fcn.004130d0
mov esi, eax
lea eax, [ebp - 0x344]
push 0x10
push eax
call fcn.005b7368
add esp, 0x1c
mov edx, 0x6370dc
mov ecx, esi
mov edi, eax
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x4394ae
xor ecx, ecx
jmp 0x4394b5
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
mov eax, dword [edi]
push ecx
call eax
push 0
lea eax, [ebp - 0x84]
push 6
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov eax, 0x30
push 0
push 3
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x9c]
push eax
call fcn.005b737c
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x14c]
mov byte [ebp - 4], 0x42
lea edx, [ebp - 0x15c]
cmp dword [ebp - 0x148], 8
push ecx
cmovae edx, dword [ebp - 0x15c]
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.004130d0
push 0
mov edi, eax
lea eax, [ebp - 0x6c]
push 5
push eax
call fcn.005b7396
mov edx, 0x6370dc
mov ecx, edi
mov esi, eax
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov eax, 0x20
push 0x40
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov word [ecx + esi + 0x40], ax
lea eax, [ebp - 0x364]
push eax
call fcn.005b7368
mov ecx, dword [esi]
push dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push ecx
call eax
mov eax, dword [ebp - 0x44]
add esp, 0x40
mov byte [ebp - 4], 0x43
lea edx, [ebp - 0x54]
cmp dword [ebp - 0x40], 8
mov ecx, esi
push eax
cmovae edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x40
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x324]
mov ecx, eax
call fcn.00412d50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x67e5f8]
cmp eax, dword [ecx + 4]
jle 0x439607
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x439607
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x884]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x44
cmp esi, 0x67e5fc
je 0x4396c3
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x439683
mov ecx, dword [0x67e5fc]
inc eax
cmp eax, 0x7fffffff
ja 0x438572
add eax, eax
cmp eax, 0x1000
jb 0x43967a
test cl, 0x1f
jne 0x438572
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x438572
sub ecx, eax
cmp ecx, 4
jb 0x438572
cmp ecx, 0x23
ja 0x438572
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
xor eax, eax
mov dword [0x67e610], 7
mov word [0x67e5fc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x67e5fc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x67e60c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x40
call fcn.00407420
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x3f
call fcn.00407420
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x3e
call fcn.00407420
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3d
call fcn.00407420
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x3c
call fcn.00407420
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0x45
call fcn.00415410
mov byte [ebp - 4], 0x46
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x81c]
mov byte [ebp - 4], 0x47
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
mov byte [ebp - 4], 0x29
add esp, 4
mov ecx, dword [0x67e3a8]
test ecx, ecx
jne 0x439783
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0x48
test eax, eax
je 0x439777
push ecx
mov ecx, eax
call fcn.0041d120
mov ecx, eax
jmp 0x439779
xor ecx, ecx
mov byte [ebp - 4], 0x29
mov dword [0x67e3a8], ecx
mov eax, dword [0x67e60c]
mov byte [ebp - 4], 0x49
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
push eax
cmovae edx, dword [0x67e5fc]
mov byte [ebp - 4], 0x29
call fcn.004130d0
mov edx, str.EDID_data:
mov ecx, eax
call fcn.00411a20
lea edx, [ebp - 0x24]
mov ecx, eax
call fcn.00411a20
push eax
call fcn.00414150
add esp, 8
mov eax, 0xc
nop dword [eax]
mov cl, byte [ebp + eax - 0x24]
cmp cl, 0xa
je 0x4397de
cmp cl, 0x20
jne 0x4397f1
cmp eax, 0x13
jae 0x43991c
mov byte [ebp + eax - 0x24], 0
sub eax, 1
jns 0x4397d0
movzx eax, byte [ebp - 0x301]
sub eax, 0xfc
je 0x439855
sub eax, 2
je 0x439831
sub eax, 1
jne 0x4398f9
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x439813
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004076b9
jmp 0x4398f9
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x439837
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004076b9
jmp 0x4398f9
lea esi, [ebp - 0x24]
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x439860
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edi, dword [ebp - 0x3c]
sub esi, ecx
cmp edx, 0x10
lea ecx, [ebp - 0x3c]
cmovae ecx, edi
cmp ecx, eax
ja 0x4398a8
mov eax, dword [ebp - 0x2c]
add eax, ecx
lea ecx, [ebp - 0x24]
cmp ecx, eax
jae 0x4398a8
cmp edx, 0x10
lea ecx, [ebp - 0x3c]
push esi
cmovae ecx, edi
lea eax, [ebp - 0x24]
sub eax, ecx
push eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, eax
call fcn.004078af
jmp 0x4398f9
test esi, esi
jne 0x4398bd
cmp edx, 0x10
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x3c]
cmovae eax, edi
mov byte [eax], 0
jmp 0x4398f9
cmp edx, esi
jae 0x4398d0
push esi
lea ecx, [ebp - 0x3c]
call fcn.00407c23
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x3c]
cmp edx, 0x10
lea ecx, [ebp - 0x24]
push esi
lea eax, [ebp - 0x3c]
cmovae eax, edi
push ecx
push eax
call fcn.005ba250
add esp, 0xc
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
mov byte [esi + eax], 0
mov edi, dword [ebp - 0x310]
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
cmp eax, 4
jge 0x439921
mov ecx, dword [ebp - 0x31c]
jmp 0x438e12
call fcn.005b55e8
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x2fc]
cmovae eax, dword [ebp - 0x3c]
push 3
mov dword [ebp - 0x300], ecx
lea ecx, [ebp - 0x300]
push eax
call fcn.00410cd0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x300]
call fcn.00407456
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x300]
cmp eax, ecx
je 0x439978
push eax
call fcn.005bf75a
add esp, 4
mov byte [ebp - 4], 0x4d
cmp dword [ebp - 0xc4], 0
mov byte [ebp - 4], 0x4c
sete al
test al, al
je 0x4399a8
mov eax, dword [ebp - 0x320]
lea ecx, [ebp - 0xd4]
cmp ecx, eax
je 0x4399a8
push 0xffffffffffffffff
push 0
push eax
call fcn.004077b3
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x30c]
call fcn.004461c0
mov esi, eax
push 0
push 0x116ed
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x4e
call fcn.0041eb10
push dword [ebp - 0x318]
mov byte [ebp - 4], 0x4f
push esi
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x10c]
mov dword [ebp - method.srl::GroupID.virtual_0], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x4c
call fcn.00446220
sub esp, 8
lea ecx, [ebp - 0x5c4]
call fcn.00415530
xor esi, esi
mov byte [ebp - 4], 0x51
cmp dword [ebp + 0xc], esi
jbe 0x439a9e
test esi, esi
je 0x439a33
lea ecx, [ebp - 0x5b4]
call fcn.0043e9c0
mov eax, dword [ebp - 0x5b4]
lea ecx, [ebp - 0x5b4]
push 0
push 2
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0x14]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x6c]
push eax
call fcn.005b7396
add esp, 0xc
lea ecx, [ebp - 0x5b4]
mov edx, eax
call fcn.0041e4a0
mov edx, eax
mov eax, 0x30
mov ecx, dword [edx]
mov ecx, dword [ecx + 4]
mov word [ecx + edx + 0x40], ax
mov ecx, dword [edx]
mov ecx, dword [ecx + 4]
or dword [ecx + edx + 0x14], 4
mov ecx, edx
movzx eax, byte [esi + edi]
push eax
call fcn.0040fdf0
inc esi
cmp esi, dword [ebp + 0xc]
jb 0x439a24
mov esi, dword [0x67e3a8]
test esi, esi
jne 0x439ad8
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0x52
test eax, eax
je 0x439acc
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x439ace
xor esi, esi
mov byte [ebp - 4], 0x51
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 3
jl 0x439b49
push 3
mov ecx, esi
call fcn.0041d580
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x55
cmp dword [eax + 0x14], 8
jb 0x439af6
mov eax, dword [eax]
push ecx
mov edx, eax
mov byte [ebp - 4], 0x51
mov ecx, esi
call fcn.004130d0
mov edx, str.Monitor_Name:
mov ecx, eax
call fcn.00411a20
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 4], 0x56
lea edx, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 8
push ecx
cmovae edx, dword [ebp - 0xd4]
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.004130d0
push eax
call fcn.00414150
mov esi, dword [0x67e3a8]
add esp, 0xc
test esi, esi
jne 0x439b7d
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0x57
test eax, eax
je 0x439b71
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x439b73
xor esi, esi
mov byte [ebp - 4], 0x51
mov dword [0x67e3a8], esi
cmp dword [esi + 4], 5
jl 0x439c91
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x5c4]
call fcn.004153f0
mov edi, eax
mov byte [ebp - 4], 0x58
mov esi, dword [0x67e3a8]
test esi, esi
jne 0x439bd9
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0x59
test eax, eax
je 0x439bcd
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x439bcf
xor esi, esi
mov byte [ebp - 4], 0x58
mov dword [0x67e3a8], esi
mov eax, esi
mov dword [ebp - 0x320], eax
test esi, esi
jne 0x439c1b
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 0x5a
test eax, eax
je 0x439c09
push ecx
mov ecx, eax
call fcn.0041d120
mov esi, eax
jmp 0x439c0b
xor esi, esi
mov eax, dword [ebp - 0x320]
mov byte [ebp - 4], 0x58
mov dword [0x67e3a8], esi
push 5
mov ecx, eax
call fcn.0041d580
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x5b
cmp dword [eax + 0x14], 8
jb 0x439c33
mov eax, dword [eax]
push ecx
mov edx, eax
mov byte [ebp - 4], 0x58
mov ecx, esi
call fcn.004130d0
add esp, 4
mov edx, str.Monitor_EDID:
mov ecx, eax
call fcn.00411a20
mov edx, 0x639840
mov ecx, eax
call fcn.00411a20
mov ecx, dword [edi + 0x10]
mov byte [ebp - 4], 0x5c
cmp dword [edi + 0x14], 8
jb 0x439c6b
mov edi, dword [edi]
push ecx
mov edx, edi
mov byte [ebp - 4], 0x58
mov ecx, eax
call fcn.004130d0
push eax
call fcn.00414150
add esp, 8
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x104]
call fcn.00407420
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x5c4]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x5d
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Name.virtual_0], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x439cd2
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x439ce7
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x439ce9
call edx
add eax, 0x10
mov dword [ebp - 0x308], eax
cmp dword [esi + 0x14], 8
jb 0x439cfa
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x30c]
call fcn.00446330
push 0
push 0x11701
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x5e
call fcn.0041eb10
push dword [ebp - 0x318]
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x5f
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x1c4]
mov dword [ebp - method.srl::GroupID.virtual_0], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x5d
call fcn.00446220
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x51
call fcn.00407420
lea ecx, [ebp - 0x55c]
mov byte [ebp - 4], 0x61
call fcn.00415410
mov byte [ebp - 4], 0x62
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x55c]
mov byte [ebp - 4], 0x63
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd4]
call fcn.00407420
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x28
call fcn.0040747b
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x27
call fcn.0040747b
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x14
call fcn.0040747b
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xf
call fcn.00407420
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x64
call fcn.0043be10
mov byte [ebp - 4], 0x65
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
lea eax, [ebp - 0x3cc]
mov byte [ebp - 4], 0x66
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
add esp, 4
lea ecx, [ebp - 0x47c]
mov dword [ebp - 4], 0x67
call fcn.0043be10
mov byte [ebp - 4], 0x68
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov byte [ebp - 4], 0x69
lea eax, [ebp - 0x47c]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.005b72e0
add esp, 4
mov dword [ebp - 4], 0xffffffff
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.005b5208
mov esp, ebp
pop ebp
ret 0x10