Function at 0x45c970
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e9f31
mov eax, dword fs:[0]
push eax
sub esp, 0xb08
mov eax, dword [0x672014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x574], eax
lea ecx, [ebp - 0x480]
call fcn.00407dfc
mov dword [ebp - 4], 0
mov byte [ebp - 0x484], 0
push 0x17
push 0x63bb08
lea ecx, [ebp - 0x480]
call fcn.004075f5
mov dword [ebp - 4], 1
mov eax, dword [0x67e3a8]
test eax, eax
jne 0x45ca14
push 0x68
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x55c], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x45ca09
push ecx
mov ecx, eax
call fcn.0041d120
jmp 0x45ca0b
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x67e3a8], eax
cmp dword [eax + 4], 4
jl 0x45ca26
push ecx
lea ecx, [ebp - 0x484]
call fcn.004127e0
cmp byte [esi + 0x20], 0
jne 0x45ca45
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x484]
call fcn.004141f0
xor al, al
jmp 0x45e4af
cmp dword [esi + 0x1c], 0
je 0x45ca2c
mov byte [ebp - 0x501], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x508], 0
mov byte [ebp - 4], 3
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x528]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
jns 0x45ca87
mov byte [ebp - 4], 1
jmp 0x45e463
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax]
lea edx, [ebp - 0x508]
push edx
push str.DxDiag_DisplayDevices
push eax
call dword [ecx + 0x14]
test eax, eax
jns 0x45caac
mov byte [ebp - 4], 1
jmp 0x45e463
mov dword [ebp - 0x564], 0
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax]
lea edx, [ebp - 0x564]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x45cad6
mov byte [ebp - 4], 1
jmp 0x45e463
xor edi, edi
mov dword [ebp - 0x530], edi
movsd xmm0, qword [0x63d0e8]
movsd qword [ebp - 0x5a8], xmm0
nop
cmp edi, dword [ebp - 0x564]
jae 0x45e45c
lea ecx, [ebp - 0x6e4]
call fcn.004239d0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax]
push 0x100
lea edx, [ebp - 0x2dc]
push edx
push edi
push eax
call dword [ecx + 0x10]
test eax, eax
jns 0x45cb40
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6e4]
call fcn.00426720
inc edi
mov dword [ebp - 0x530], edi
jmp 0x45caf0
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x45cf84
call fcn.0041d300
mov edi, eax
sub esp, 8
lea ecx, [ebp - 0x904]
call fcn.00415530
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x348]
call fcn.00407dfc
mov byte [ebp - 4], 6
push 5
push str.TRACE
lea ecx, [ebp - 0x348]
call fcn.004075f5
lea ecx, [ebp - 0x468]
call fcn.00407dfc
mov byte [ebp - 4], 7
xor esi, esi
mov dword [ebp - 0x590], esi
cmp esi, dword [edi + 0xc]
jge 0x45cbbf
cmp esi, 0xa
jge 0x45cbbf
push 2
push 0x637484
lea ecx, [ebp - 0x468]
call fcn.0041df10
inc esi
jmp 0x45cb9a
lea ecx, [ebp - 0x330]
call fcn.00407dfc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x318]
call fcn.00407dfc
mov byte [ebp - 4], 9
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x330]
push eax
mov ecx, edi
call fcn.0041d380
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 8
cmovae eax, dword [ebp - 0x468]
mov dword [ebp - 0x50c], eax
push 0x2040
lea eax, [ebp - 0x5f0]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x8f4]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x8f4]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x320]
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x330]
cmp dword [ebp - 0x31c], 8
cmovae edx, dword [ebp - 0x330]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x8f4]
call fcn.004130d0
mov esi, eax
push 0x10
lea eax, [ebp - 0x600]
push eax
call fcn.005b7368
add esp, 0xc
mov edi, eax
mov edx, 0x6370dc
mov ecx, esi
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x45cc92
xor ecx, ecx
jmp 0x45cc99
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x794]
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x7a4]
push eax
call fcn.005b737c
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x308]
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x318]
cmp dword [ebp - 0x304], 8
cmovae edx, dword [ebp - 0x318]
mov byte [ebp - 4], 9
push ecx
mov ecx, eax
call fcn.004130d0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x754]
push eax
call fcn.005b7396
mov esi, eax
mov edx, 0x6370dc
mov ecx, edi
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x5e8]
push eax
call fcn.005b7368
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x338]
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x348]
cmp dword [ebp - 0x334], 8
cmovae edx, dword [ebp - 0x348]
mov byte [ebp - 4], 9
push eax
mov ecx, esi
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x50c]
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 0x45cdfd
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x45cdfd
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x904]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0xd
cmp esi, 0x67e5fc
je 0x45cec2
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x45ce82
inc eax
mov ecx, dword [0x67e5fc]
cmp eax, 0x7fffffff
jbe 0x45ce3e
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x45ce79
test byte [0x67e5fc], 0x1f
je 0x45ce55
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x45ce61
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x45ce6d
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x45ce77
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
mov dword [0x67e610], 7
xor eax, eax
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
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x49c]
call fcn.00407420
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x318]
call fcn.00407420
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x330]
call fcn.00407420
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x468]
call fcn.00407420
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x348]
call fcn.00407420
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x89c]
call fcn.00415410
mov byte [ebp - 4], 0xf
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
mov byte [ebp - 4], 0x10
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x89c]
push eax
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 4
call fcn.0041d300
mov edx, 0x67e5fc
mov ecx, eax
call fcn.00413350
mov edx, str.Container:
mov ecx, eax
call fcn.00412d50
lea edx, [ebp - 0x2dc]
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 4
mov edi, dword [ebp - 0x530]
mov dword [ebp - 0x500], 0
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax]
lea edx, [ebp - 0x500]
push edx
lea edx, [ebp - 0x2dc]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
jns 0x45cfc7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6e4]
call fcn.00426720
inc edi
mov dword [ebp - 0x530], edi
jmp 0x45caf0
mov dword [ebp - 0x568], 0
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x568]
push edx
push eax
call dword [ecx + 0x18]
xor esi, esi
mov dword [ebp - 0x56c], esi
cmp esi, dword [ebp - 0x568]
jae 0x45d475
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
push 0x64
lea edx, [ebp - 0xdc]
push edx
push esi
push eax
call dword [ecx + 0x1c]
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x45d46f
call fcn.0041d300
mov edi, eax
sub esp, 8
lea ecx, [ebp - 0x9b4]
call fcn.00415530
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x408]
call fcn.00407dfc
mov byte [ebp - 4], 0x12
push 5
push str.TRACE
lea ecx, [ebp - 0x408]
call fcn.004075f5
lea ecx, [ebp - 0x420]
call fcn.00407dfc
mov byte [ebp - 4], 0x13
xor esi, esi
mov dword [ebp - 0x58c], esi
cmp esi, dword [edi + 0xc]
jge 0x45d08d
cmp esi, 0xa
jge 0x45d08d
push 2
push 0x637484
lea ecx, [ebp - 0x420]
call fcn.0041df10
inc esi
jmp 0x45d068
lea ecx, [ebp - 0x300]
call fcn.00407dfc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x360]
call fcn.00407dfc
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x300]
push eax
mov ecx, edi
call fcn.0041d380
lea eax, [ebp - 0x420]
cmp dword [ebp - 0x40c], 8
cmovae eax, dword [ebp - 0x420]
mov dword [ebp - 0x50c], eax
push 0x2040
lea eax, [ebp - 0x5e0]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x9a4]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x9a4]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x2f0]
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x300]
cmp dword [ebp - 0x2ec], 8
cmovae edx, dword [ebp - 0x300]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x9a4]
call fcn.004130d0
mov esi, eax
push 0x10
lea eax, [ebp - 0x5d8]
push eax
call fcn.005b7368
add esp, 0xc
mov edi, eax
mov edx, 0x6370dc
mov ecx, esi
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x45d160
xor ecx, ecx
jmp 0x45d167
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x764]
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x774]
push eax
call fcn.005b737c
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x350]
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x360]
cmp dword [ebp - 0x34c], 8
cmovae edx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x15
push ecx
mov ecx, eax
call fcn.004130d0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x784]
push eax
call fcn.005b7396
mov esi, eax
mov edx, 0x6370dc
mov ecx, edi
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x5d0]
push eax
call fcn.005b7368
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x3f8]
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x408]
cmp dword [ebp - 0x3f4], 8
cmovae edx, dword [ebp - 0x408]
mov byte [ebp - 4], 0x15
push eax
mov ecx, esi
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x50c]
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 0x45d2cb
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x45d2cb
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x9b4]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x19
cmp esi, 0x67e5fc
je 0x45d390
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x45d350
inc eax
mov ecx, dword [0x67e5fc]
cmp eax, 0x7fffffff
jbe 0x45d30c
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x45d347
test byte [0x67e5fc], 0x1f
je 0x45d323
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x45d32f
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x45d33b
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x45d345
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
mov dword [0x67e610], 7
xor eax, eax
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
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4fc]
call fcn.00407420
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x360]
call fcn.00407420
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x300]
call fcn.00407420
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x420]
call fcn.00407420
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x408]
call fcn.00407420
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x94c]
call fcn.00415410
mov byte [ebp - 4], 0x1b
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
mov byte [ebp - 4], 0x1c
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x94c]
push eax
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 4
call fcn.0041d300
mov ecx, dword [0x67e60c]
mov byte [ebp - 4], 0x1d
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
cmovae edx, dword [0x67e5fc]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.004130d0
mov edx, str.Name:
mov ecx, eax
call fcn.00412d50
lea edx, [ebp - 0xdc]
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 8
mov esi, dword [ebp - 0x56c]
inc esi
jmp 0x45cfe6
lea eax, [ebp - 0x524]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szDescription
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45d4e6
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x560]
call fcn.0044e2a0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x560]
push eax
lea ecx, [ebp - 0x6e0]
call fcn.00410290
lea eax, [ebp - 0x524]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x560]
call fcn.0040d440
jmp 0x45d4ec
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szChipType
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45d548
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x570]
call fcn.0044e2a0
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x6d8]
call fcn.00410290
lea eax, [ebp - 0x524]
push eax
call esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x570]
call fcn.0040d440
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x45d996
call fcn.0041d300
mov edi, eax
sub esp, 8
lea ecx, [ebp - 0xa64]
call fcn.00415530
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x3c0]
call fcn.00407dfc
mov byte [ebp - 4], 0x21
push 5
push str.TRACE
lea ecx, [ebp - 0x3c0]
call fcn.004075f5
lea ecx, [ebp - 0x438]
call fcn.00407dfc
mov byte [ebp - 4], 0x22
xor esi, esi
mov dword [ebp - 0x588], esi
cmp esi, dword [edi + 0xc]
jge 0x45d5c7
cmp esi, 0xa
jge 0x45d5c7
push 2
push 0x637484
lea ecx, [ebp - 0x438]
call fcn.0041df10
inc esi
jmp 0x45d5a2
lea ecx, [ebp - 0x3d8]
call fcn.00407dfc
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3f0]
call fcn.00407dfc
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x3f0]
push eax
lea eax, [ebp - 0x3d8]
push eax
mov ecx, edi
call fcn.0041d380
lea eax, [ebp - 0x438]
cmp dword [ebp - 0x424], 8
cmovae eax, dword [ebp - 0x438]
mov dword [ebp - 0x50c], eax
push 0x2040
lea eax, [ebp - 0x5c8]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0xa54]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0xa54]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x3c8]
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x3d8]
cmp dword [ebp - 0x3c4], 8
cmovae edx, dword [ebp - 0x3d8]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0xa54]
call fcn.004130d0
mov esi, eax
push 0x10
lea eax, [ebp - 0x5c0]
push eax
call fcn.005b7368
add esp, 0xc
mov edi, eax
mov edx, 0x6370dc
mov ecx, esi
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x45d69a
xor ecx, ecx
jmp 0x45d6a1
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x6f4]
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x704]
push eax
call fcn.005b737c
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x3e0]
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0x3f0]
cmp dword [ebp - 0x3dc], 8
cmovae edx, dword [ebp - 0x3f0]
mov byte [ebp - 4], 0x24
push ecx
mov ecx, eax
call fcn.004130d0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x714]
push eax
call fcn.005b7396
mov esi, eax
mov edx, 0x6370dc
mov ecx, edi
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x5b8]
push eax
call fcn.005b7368
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x3b0]
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x3c0]
cmp dword [ebp - 0x3ac], 8
cmovae edx, dword [ebp - 0x3c0]
mov byte [ebp - 4], 0x24
push eax
mov ecx, esi
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x50c]
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 0x45d805
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x45d805
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0xa64]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x28
cmp esi, 0x67e5fc
je 0x45d8ca
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x45d88a
inc eax
mov ecx, dword [0x67e5fc]
cmp eax, 0x7fffffff
jbe 0x45d846
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x45d881
test byte [0x67e5fc], 0x1f
je 0x45d85d
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x45d869
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x45d875
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x45d87f
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
mov dword [0x67e610], 7
xor eax, eax
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
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x4e4]
call fcn.00407420
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3f0]
call fcn.00407420
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x3d8]
call fcn.00407420
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x438]
call fcn.00407420
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x3c0]
call fcn.00407420
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x9fc]
call fcn.00415410
mov byte [ebp - 4], 0x2a
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
mov byte [ebp - 4], 0x2b
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x9fc]
push eax
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 4
call fcn.0041d300
mov ecx, dword [0x67e60c]
mov byte [ebp - 4], 0x2c
mov edx, 0x67e5fc
cmp dword [0x67e610], 8
cmovae edx, dword [0x67e5fc]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.004130d0
mov edx, str.Getting_Device_ID:
mov ecx, eax
call fcn.00412d50
push eax
call fcn.00414150
add esp, 8
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szKeyDeviceID
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45de5d
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x534]
call fcn.0044e2a0
mov byte [ebp - 4], 0x2d
call fcn.0041d300
cmp dword [eax + 4], 3
jl 0x45de0c
call fcn.0041d300
mov edi, eax
sub esp, 8
lea ecx, [ebp - 0x854]
call fcn.00415530
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x378]
call fcn.00407dfc
mov byte [ebp - 4], 0x2f
push 5
push str.TRACE
lea ecx, [ebp - 0x378]
call fcn.004075f5
lea ecx, [ebp - 0x450]
call fcn.00407dfc
mov byte [ebp - 4], 0x30
xor esi, esi
mov dword [ebp - 0x584], esi
cmp esi, dword [edi + 0xc]
jge 0x45da4b
cmp esi, 0xa
jge 0x45da4b
push 2
push 0x637484
lea ecx, [ebp - 0x450]
call fcn.0041df10
inc esi
jmp 0x45da26
lea ecx, [ebp - 0x390]
call fcn.00407dfc
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3a8]
call fcn.00407dfc
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x390]
push eax
mov ecx, edi
call fcn.0041d380
lea eax, [ebp - 0x450]
cmp dword [ebp - 0x43c], 8
cmovae eax, dword [ebp - 0x450]
mov dword [ebp - 0x50c], eax
push 0x2040
lea eax, [ebp - 0x5b0]
push eax
call fcn.005b7368
mov ecx, dword [ebp - 0x844]
mov ecx, dword [ecx + 4]
lea edx, [ebp - 0x844]
add ecx, edx
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x10
mov eax, dword [ebp - 0x380]
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x390]
cmp dword [ebp - 0x37c], 8
cmovae edx, dword [ebp - 0x390]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x844]
call fcn.004130d0
mov esi, eax
push 0x10
lea eax, [ebp - 0x5f8]
push eax
call fcn.005b7368
add esp, 0xc
mov edi, eax
mov edx, 0x6370dc
mov ecx, esi
call fcn.00412d50
mov esi, eax
test esi, esi
jne 0x45db1e
xor ecx, ecx
jmp 0x45db25
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push dword [edi + 4]
push ecx
mov eax, dword [edi]
call eax
push 0
push 6
lea eax, [ebp - 0x724]
push eax
call fcn.005b7396
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x30
mov word [ecx + esi + 0x40], ax
push 0
push 3
lea eax, [ebp - 0x734]
push eax
call fcn.005b737c
add esp, 0x20
mov edx, eax
mov ecx, esi
call fcn.0041e4a0
mov ecx, dword [ebp - 0x398]
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x3a8]
cmp dword [ebp - 0x394], 8
cmovae edx, dword [ebp - 0x3a8]
mov byte [ebp - 4], 0x32
push ecx
mov ecx, eax
call fcn.004130d0
mov edi, eax
push 0
push 5
lea eax, [ebp - 0x744]
push eax
call fcn.005b7396
mov esi, eax
mov edx, 0x6370dc
mov ecx, edi
call fcn.00412d50
mov edx, esi
mov ecx, eax
call fcn.0041e4a0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, 0x20
mov word [ecx + esi + 0x40], ax
push 0x40
lea eax, [ebp - 0x608]
push eax
call fcn.005b7368
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
push dword [eax + 4]
push ecx
mov eax, dword [eax]
call eax
add esp, 0x20
mov eax, dword [ebp - 0x368]
mov byte [ebp - 4], 0x35
lea edx, [ebp - 0x378]
cmp dword [ebp - 0x364], 8
cmovae edx, dword [ebp - 0x378]
mov byte [ebp - 4], 0x32
push eax
mov ecx, esi
call fcn.004130d0
add esp, 4
mov edx, 0x6374c4
mov ecx, eax
call fcn.00412d50
mov edx, dword [ebp - 0x50c]
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 0x45dc89
push 0x67e5f8
call fcn.005b583c
add esp, 4
cmp dword [0x67e5f8], 0xffffffff
jne 0x45dc89
mov ecx, 0x67e5fc
call fcn.00407dfc
push 0x5f8b00
call fcn.005b547f
push 0x67e5f8
call fcn.005b57fd
add esp, 8
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x854]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x36
cmp esi, 0x67e5fc
je 0x45dd4e
mov eax, dword [0x67e610]
cmp eax, 8
jb 0x45dd0e
inc eax
mov ecx, dword [0x67e5fc]
cmp eax, 0x7fffffff
jbe 0x45dcca
call fcn.005bcb11
add eax, eax
cmp eax, 0x1000
jb 0x45dd05
test byte [0x67e5fc], 0x1f
je 0x45dce1
call fcn.005bcb11
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x45dced
call fcn.005bcb11
sub ecx, eax
cmp ecx, 4
jae 0x45dcf9
call fcn.005bcb11
cmp ecx, 0x23
jbe 0x45dd03
call fcn.005bcb11
mov ecx, eax
push ecx
call fcn.0046f3d1
add esp, 4
mov dword [0x67e60c], 0
mov dword [0x67e610], 7
xor eax, eax
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
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x4b4]
call fcn.00407420
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3a8]
call fcn.00407420
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x390]
call fcn.00407420
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x450]
call fcn.00407420
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x378]
call fcn.00407420
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x7ec]
call fcn.00415410
mov byte [ebp - 4], 0x38
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
mov byte [ebp - 4], 0x39
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x7ec]
push eax
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 0x2d
call fcn.0041d300
mov edx, 0x67e5fc
mov ecx, eax
call fcn.00413350
mov edx, str.Got_Device_ID:
mov ecx, eax
call fcn.00412d50
mov esi, eax
mov edx, dword [ebp - 0x534]
mov ecx, esi
call fcn.00412d50
push esi
call fcn.00414150
add esp, 4
lea eax, [ebp - 0x534]
push eax
lea ecx, [ebp - 0x624]
call fcn.0045a7b0
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x66c]
call fcn.0045c8b0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x624]
call fcn.0045a910
lea eax, [ebp - 0x524]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x534]
call fcn.0040d440
jmp 0x45de63
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szDACType
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45dee4
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x580]
call fcn.0044e2a0
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x538]
call fcn.0044e2a0
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x6c8]
call fcn.00410290
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x538]
call fcn.0040d440
lea eax, [ebp - 0x524]
push eax
call edi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x580]
call fcn.0040d440
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szDriverVersion
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45df40
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x53c]
call fcn.0044e2a0
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x53c]
push eax
lea ecx, [ebp - 0x6b8]
call fcn.00410290
lea eax, [ebp - 0x524]
push eax
call edi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x53c]
call fcn.0040d440
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szDriverDateEnglish
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45e209
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x514]
call fcn.0044e2a0
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x524]
push eax
call edi
mov dword [ebp - 0x540], 0
xor esi, esi
mov dword [ebp - 0x57c], esi
push fcn.0040d440
push fcn.00410350
push 3
push 4
lea eax, [ebp - 0x2e8]
push eax
call fcn.005b5a27
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x540]
push eax
push str..__
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x514]
call fcn.00418160
mov byte [ebp - 4], 0x40
mov ecx, 0x633b54
mov eax, dword [ebp - 0x52c]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45e006
test dx, dx
je 0x45e002
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45e006
add eax, 4
add ecx, 4
test dx, dx
jne 0x45dfe0
xor eax, eax
jmp 0x45e00b
sbb eax, eax
or eax, 1
test eax, eax
setne al
test al, al
je 0x45e0c0
cmp esi, 3
jge 0x45e0c0
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x2e8]
lea ecx, [ecx + esi*4]
call fcn.00410290
inc esi
mov dword [ebp - 0x57c], esi
lea eax, [ebp - 0x540]
push eax
push str..__
lea eax, [ebp - 0x55c]
push eax
lea ecx, [ebp - 0x514]
call fcn.00418160
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x52c]
call fcn.00410290
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x55c]
add ecx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x45dfd1
mov edx, dword [ecx]
mov eax, dword [edx]
mov edi, dword [eax + 4]
push ecx
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x45e0b7
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x45e0b7
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x45dfd1
mov ecx, edx
call edi
jmp 0x45dfd1
cmp esi, 2
jl 0x45e1ba
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x554]
call fcn.00410c20
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x550]
call fcn.00410c20
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x54c]
call fcn.00410c20
mov byte [ebp - 4], 0x44
push dword [ebp - 0x54c]
call fcn.005c0c25
mov edi, eax
push dword [ebp - 0x554]
call fcn.005c0c25
mov esi, eax
mov dword [ebp - 0x544], esi
push dword [ebp - 0x550]
call fcn.005c0c25
add esp, 0xc
mov edx, eax
mov dword [ebp - 0x548], edx
cmp esi, 0x1f
jle 0x45e154
mov ecx, edi
mov edi, esi
mov esi, ecx
mov dword [ebp - 0x544], esi
jmp 0x45e165
cmp edx, 0x1f
jle 0x45e165
mov eax, edi
mov edi, edx
mov edx, eax
mov dword [ebp - 0x548], edx
cmp esi, 0xc
jle 0x45e176
mov dword [ebp - 0x544], esi
mov dword [ebp - 0x548], edx
push edi
push edx
push esi
push str._d__d__d
lea eax, [ebp - 0x514]
push eax
call fcn.004425b0
add esp, 0x14
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x54c]
call fcn.0040d440
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x550]
call fcn.0040d440
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x554]
call fcn.0040d440
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x6b0]
call fcn.00410290
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x52c]
call fcn.0040d440
mov byte [ebp - 4], 0x3e
push fcn.0040d440
push 3
push 4
lea eax, [ebp - 0x2e8]
push eax
call fcn.005b5940
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x514]
call fcn.0040d440
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax]
lea edx, [ebp - 0x524]
push edx
push str.szDisplayMemoryEnglish
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x45e3b6
mov dword [ebp - 0x558], 0
lea eax, [ebp - 0x558]
push eax
push dword [ebp - 0x51c]
call fcn.005c6594
add esp, 8
fstp qword [ebp - 0x510]
mov eax, dword [ebp - 0x558]
cmp eax, dword [ebp - 0x51c]
je 0x45e3a6
mov eax, 2
mov dword [ebp - 0x578], eax
movsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x510], xmm0
movsd xmm2, qword [ebp - 0x5a8]
cmp eax, 0x400
jg 0x45e2b2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
comisd xmm1, xmm0
jbe 0x45e40b
addsd xmm0, xmm2
comisd xmm0, xmm1
jb 0x45e403
movsd qword [ebp - 0x510], xmm1
sub esp, 8
lea ecx, [ebp - 0xb14]
call fcn.00415530
mov byte [ebp - 4], 0x45
movsd xmm1, qword [ebp - 0x510]
lea ecx, [ebp - 0xb04]
call fcn.0041d9f0
mov edx, 0x63bcd0
mov ecx, eax
call fcn.00411a20
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0xb14]
call fcn.004153f0
mov byte [ebp - 4], 0x46
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov dword [ebp - method.srl::Speed.virtual_0], vtable.srl::Size.0
cmp dword [eax + 0x14], 8
jb 0x45e315
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00466720
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x594]
mov dword [ebp - 0x670], eax
mov byte [ebp - 4], 0x48
mov dword [ebp - method.srl::Speed.virtual_0], vtable.srl::Size.0
mov byte [ebp - 4], 0x49
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x4cc]
call fcn.00407420
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xaac]
call fcn.00415410
mov byte [ebp - 4], 0x4b
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
mov byte [ebp - 4], 0x4c
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0xaac]
push eax
call fcn.005b72e0
add esp, 4
mov byte [ebp - 4], 4
lea eax, [ebp - 0x524]
push eax
call edi
mov byte [ebp - 0x501], 1
lea eax, [ebp - 0x6e4]
push eax
mov ecx, dword [ebp - 0x574]
call fcn.004260e0
mov ecx, dword [ebp - 0x500]
test ecx, ecx
je 0x45e3e2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x500], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6e4]
call fcn.00426720
mov edi, dword [ebp - 0x530]
inc edi
mov dword [ebp - 0x530], edi
jmp 0x45caf0
movsd xmm0, qword [ebp - 0x510]
add eax, eax
mov dword [ebp - 0x578], eax
jmp 0x45e283
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x528]
test ecx, ecx
je 0x45e47d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x528], 0
mov edx, dword [ebp - 0x508]
test edx, edx
je 0x45e497
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov dword [ebp - 0x508], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x484]
call fcn.004141f0
mov al, byte [ebp - 0x501]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005b5208
mov esp, ebp
pop ebp
ret 4