Function at 0x4a1570
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bd394
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x61f138]
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 dword [ebp - 0x54], edi
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x58], eax
cmp byte [edi + 0x218], al
je 0x4a1738
push 0x6d3554
mov dword [ebp - 0x6c], 0x6d3554
call fcn.0055d042
add esp, 4
test eax, eax
je 0x4a15d7
push eax
call fcn.0055ca85
add esp, 4
mov dword [ebp - 4], 0
mov edx, dword [0x6d3550]
test edx, edx
je 0x4a1717
lea esp, [esp]
mov eax, dword [0x6d3540]
mov esi, dword [0x6d354c]
test eax, eax
je 0x4a1601
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
sub edx, 1
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x24], ecx
mov dword [0x6d3550], edx
jne 0x4a1635
mov dword [0x6d354c], 0
jmp 0x4a163d
lea eax, [esi + 1]
mov dword [0x6d354c], eax
cmp byte [edi + 0x99], 0
je 0x4a170f
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
test cl, cl
mov byte [ebp - 4], 1
push dword [ebp - 0x6c]
sete al
lea ecx, [ebp - 0x64]
add al, 0x17
mov byte [ebp - 0x45], al
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x45]
push eax
push 0
call fcn.00465ce0
push dword [ebp - 0x6c]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.00465ce0
push dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.00465ce0
mov eax, dword [ebp - 0x60]
mov ecx, edi
mov esi, dword [ebp - 0x64]
sub eax, esi
push eax
push esi
call fcn.0049d870
mov byte [ebp - 4], 0
test esi, esi
je 0x4a1709
mov ecx, dword [ebp - 0x5c]
mov eax, esi
sub ecx, esi
cmp ecx, 0x1000
jb 0x4a16ea
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push ecx
push esi
call fcn.0056eec5
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov edx, dword [0x6d3550]
test edx, edx
jne 0x4a15f0
push 0x6d3554
mov dword [ebp - 4], 2
call fcn.0055d067
add esp, 4
test eax, eax
je 0x4a1738
push eax
call fcn.0055ca85
add esp, 4
cmp byte [edi + 0x178], 0
jne 0x4a1918
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x20]
push eax
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov esi, dword [sym.imp.USER32.dll_ClientToScreen]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x16c]
add eax, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x78]
push eax
push dword [edi + 0x10]
mov dword [ebp - 0x78], edx
call esi
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x78]
jl 0x4a1918
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x74]
jl 0x4a1918
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x70]
push eax
push dword [edi + 0x10]
call esi
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x70]
jge 0x4a1918
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x6c]
jge 0x4a1918
movzx edx, word [edi + 0x18c]
cmp dx, 0x32
jge 0x4a1809
movsx ecx, word [edi + 0x17e]
xor esi, esi
sub ecx, 3
test ecx, ecx
movzx eax, cx
cmovle eax, esi
movzx eax, ax
mov word [edi + 0x17e], ax
jmp 0x4a1810
movzx eax, word [edi + 0x17e]
mov ecx, dword [ebp - 0x18]
movzx eax, ax
add ecx, 0xffffffce
mov dword [ebp - 0x50], eax
movzx esi, ax
movsx eax, dx
cmp eax, ecx
jle 0x4a184f
mov eax, dword [ebp - 0x50]
mov edx, dword [edi + 0x184]
sub edx, dword [ebp - 0x18]
movsx esi, ax
add esi, 3
movzx eax, dx
cmp esi, edx
movzx ecx, si
cmovge ecx, eax
movzx eax, cx
mov word [edi + 0x17e], ax
mov esi, eax
mov ecx, dword [edi + 0x16c]
movzx edx, si
movsx esi, word [edi + 0x18e]
lea eax, [ecx + 0x32]
cmp esi, eax
jge 0x4a188d
movsx ecx, word [edi + 0x180]
sub ecx, 3
mov dword [ebp - 0x50], 0
test ecx, ecx
movzx eax, cx
mov ecx, dword [edi + 0x16c]
cmovle eax, dword [ebp - 0x50]
mov word [edi + 0x180], ax
mov eax, edx
movzx eax, ax
mov dword [ebp - 0x50], eax
movzx edx, ax
mov eax, dword [ebp - 0x14]
add eax, 0xffffffce
cmp esi, eax
jle 0x4a18cf
mov edx, dword [edi + 0x188]
sub edx, dword [ebp - 0x14]
movsx esi, word [edi + 0x180]
add edx, ecx
add esi, 3
movzx eax, dx
cmp esi, edx
movzx ecx, si
cmovge ecx, eax
mov eax, dword [ebp - 0x50]
mov word [edi + 0x180], cx
movzx edx, ax
movzx ecx, dx
cmp cx, word [edi + 0x17a]
jne 0x4a18eb
mov ax, word [edi + 0x180]
cmp ax, word [edi + 0x17c]
je 0x4a1918
mov ax, word [edi + 0x180]
mov word [edi + 0x17c], ax
mov eax, dword [edi + 0x16c]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push 1
push eax
push dword [edi + 0x10]
mov word [edi + 0x17a], cx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - 0x78], 0
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 3
mov ecx, dword [edi + 0x194]
push eax
call fcn.004fb050
test al, al
je 0x4a23fe
lea ecx, [ecx]
xor edx, edx
xor esi, esi
xor edi, edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4a1981
lea ecx, [ebp - 0x1c]
push ecx
push eax
call fcn.00461bf0
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x1c]
call fcn.00586300
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 5
mov al, byte [esi + edx]
mov byte [ebp - 0x45], al
lea eax, [esi + 1]
cmp esi, eax
je 0x4a19aa
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
movsx eax, byte [ebp - 0x45]
add eax, 0xffffff9d
cmp eax, 0x13
ja case.0x4a19c1.100
movzx eax, byte [eax + 0x4a2448]
jmp dword [eax*4 + 0x4a2430]
mov ecx, dword [ebp - 0x54]
mov eax, dword [esi + edx]
mov dword [ecx + 0x15c], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a19f6
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov eax, dword [esi + edx]
mov dword [ecx + 0x160], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a1a19
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x54]
mov ecx, dword [edi + 0x158]
call fcn.0052b340
sub esp, 8
lea ecx, [ebp - 0x144]
call fcn.00442390
mov byte [ebp - 4], 6
mov ecx, dword [edi + 0x15c]
mov eax, ecx
sar eax, 0x10
push eax
movzx eax, cx
lea ecx, [ebp - 0x134]
push eax
call fcn.00442d30
mov edx, 0x5f259c
mov ecx, eax
call fcn.0044a500
mov ecx, eax
call fcn.00442d30
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x12c]
call fcn.004466f0
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x44]
mov eax, dword [edi + 0x158]
or esi, 1
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x58], esi
cmovae ecx, dword [ebp - 0x44]
push ecx
push 0
push 0x143
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x4a1adb
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4a1ad1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 5
call fcn.0043ae30
cmp dword [edi + 0x160], 0
je 0x4a1bb3
sub esp, 8
lea ecx, [ebp - 0x144]
call fcn.00442390
mov byte [ebp - 4], 7
mov ecx, dword [edi + 0x160]
mov eax, ecx
sar eax, 0x10
push eax
movzx eax, cx
lea ecx, [ebp - 0x134]
push eax
call fcn.00442d30
mov edx, 0x5f259c
mov ecx, eax
call fcn.0044a500
mov ecx, eax
call fcn.00442d30
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x12c]
call fcn.004466f0
mov eax, dword [edi + 0x158]
lea ecx, [ebp - 0x44]
or esi, 2
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x58], esi
cmovae ecx, dword [ebp - 0x44]
push ecx
push 0
push 0x143
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x4a1ba8
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4a1b9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x144]
call fcn.0043ae30
mov eax, dword [edi + 0x158]
push 0
push 0
push 0x14e
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x1a0]
sub eax, dword [edi + 0x19c]
sar eax, 3
cmp eax, 1
je 0x4a1be8
cmp dword [edi + 0x164], 0
jle 0x4a1bf5
cmp dword [edi + 0x160], 0
je 0x4a1bf5
mov cl, 1
jmp 0x4a1bf7
xor cl, cl
cmp eax, 1
push ecx
seta al
mov ecx, edi
movzx eax, al
push eax
call fcn.0049e440
mov dword [edi + 0x168], 0xffffffff
jmp 0x4a23c1
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x44]
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x64]
mov byte [ebp - 0x45], 0x63
push eax
lea eax, [ebp - 0x45]
push eax
push 0
call fcn.00465ce0
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x64]
mov eax, dword [edi + 0x78]
lea esi, [edi + 0x68]
push dword [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x60]
call fcn.00465ce0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4a1c90
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x4a1c7d
mov ecx, dword [esi]
push dword [ebp - 0x6c]
lea eax, [ecx + eax*2]
push eax
push ecx
push dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.00465ce0
lea edx, [edi + 0x80]
lea ecx, [ebp - 0x64]
call fcn.004623e0
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
sub eax, ecx
mov dword [ebp - 0x50], ecx
push eax
push ecx
lea ecx, [edi + 0x190]
call fcn.004faf10
sub esp, 8
lea ecx, [ebp - 0x144]
call fcn.00442390
mov edx, str.Connecting_to
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x134]
call fcn.0044a500
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4a1ce3
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.0044d4b0
add esp, 4
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x12c]
push eax
call fcn.004466f0
or dword [ebp - 0x58], 4
push 0x43b
mov edx, str.dialogadmin.cpp
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44]
call fcn.004c37b0
mov byte [ebp - 4], 9
add esp, 4
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x4a1d5a
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4a1d50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push edx
push ecx
call fcn.0056eec5
add esp, 8
lea ecx, [ebp - 0x144]
call fcn.0043ae30
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4a23c1
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4a1d97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push edx
push ecx
call fcn.0056eec5
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
jmp 0x4a23c1
push 0x9c
call fcn.0056eed3
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
mov edi, dword [ebp - 0x54]
mov byte [ebp - 4], 0xb
lea ecx, [edi + 0x68]
push ecx
push dword [edi + 0x198]
push dword [edi + 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
mov ecx, esi
call fcn.004a4f50
jmp 0x4a23c1
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.004fbd70
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae ecx, dword [ebp - 0x44]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x48]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x4a23c1
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4a1e5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a2429
push edx
push ecx
call fcn.0056eec5
add esp, 8
jmp 0x4a23c1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0xd
mov eax, dword [esi + edx]
mov dword [ebp - 0x6c], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a1eac
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov eax, dword [esi + edx]
mov dword [ebp - 0x94], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a1ed4
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov eax, dword [esi + edx]
mov dword [ebp - 0x90], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a1efc
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov eax, dword [esi + edx]
mov dword [ebp - 0x8c], eax
lea eax, [esi + 4]
cmp esi, eax
je 0x4a1f24
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov ecx, dword [esi + edx]
lea eax, [esi + 4]
mov dword [ebp - 0x4c], ecx
cmp esi, eax
je 0x4a1f47
sub edi, eax
push edi
push eax
push esi
call fcn.00586a50
mov ecx, dword [ebp - 0x4c]
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x4a1f6d
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, eax
call fcn.004a5e70
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx*8]
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x20]
call fcn.004fbaa0
lea edx, [ebp - 0x88]
lea ecx, [ebp - 0x20]
call fcn.0044aad0
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x28]
mov edx, esi
sub edx, dword [ebp - 0x2c]
sar edx, 3
mov ecx, dword [edi + 0x1a0]
mov eax, dword [edi + 0x19c]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jne 0x4a1fd5
mov edx, dword [ebp - 0x2c]
mov ecx, edx
cmp ecx, esi
je 0x4a1fd1
sub eax, edx
lea esp, [esp]
mov edx, dword [ecx]
cmp edx, dword [eax + ecx]
jne 0x4a1fc4
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + eax + 4]
jne 0x4a1fc4
mov dl, 1
jmp 0x4a1fc6
xor dl, dl
test dl, dl
je 0x4a1fd5
add ecx, 8
cmp ecx, esi
jne 0x4a1fb0
mov al, 1
jmp 0x4a1fd7
xor al, al
test al, al
jne 0x4a2374
call fcn.0051e130
mov esi, eax
mov dword [ebp - 0x50], eax
cmp dword [esi + 0x14], 0x10
jb 0x4a1ff4
mov esi, dword [esi]
mov dword [ebp - 0x50], esi
mov ecx, dword [edi + 0x154]
call fcn.0052b340
call fcn.004387d0
push str.aw_display_all
push esi
mov ecx, eax
call fcn.00519610
mov ecx, dword [edi + 0x154]
push eax
push 0
push 0x143
push dword [ecx + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
sar eax, 3
mov dword [ebp - 0x4c], 1
cmp eax, 1
jbe 0x4a2308
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x144], 0x5ec86c
mov dword [ebp - 0x134], 0x5ec864
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xdc]
or esi, 8
mov dword [ebp - 0xdc], vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0xe0], 0x50
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
call fcn.00436840
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xa0], 0
push 0x20
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xa4], eax
call fcn.00448c30
cmp dword [ebp - 0xa4], 0
mov word [ebp - 0x9c], ax
jne 0x4a20df
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xdc]
or eax, 4
push 0
push eax
call fcn.004367c0
lea eax, [ebp - 0x134]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x138], eax
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x148], eax
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x148], eax
lea ecx, [ebp - 0x12c]
call fcn.004485b0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov edx, dword fs:[0x2c]
lea eax, [eax + ecx*8]
mov ecx, dword [edx]
mov dword [ebp - 0x7c], eax
mov eax, dword [0x6d61ac]
cmp eax, dword [ecx + 4]
jle 0x4a21ed
push 0x6d61ac
call fcn.0056f0e8
add esp, 4
cmp dword [0x6d61ac], 0xffffffff
jne 0x4a21ed
mov byte [ebp - 4], 0x15
call fcn.00518520
push 0x5c9590
call fcn.0056f444
push 0x6d61ac
mov byte [ebp - 4], 0x14
call fcn.0056f09e
add esp, 8
push str.aw_display
push dword [ebp - 0x50]
mov ecx, 0x6d61a4
call fcn.00519610
mov ecx, dword [ebp - 0x7c]
mov edx, eax
push dword [ecx + 4]
push dword [ecx]
lea ecx, [ebp - 0x134]
push dword [ebp - 0x4c]
call fcn.0044a500
mov edx, 0x5e3480
mov ecx, eax
call fcn.0044a500
mov ecx, eax
call fcn.00442ba0
mov edx, 0x5f1298
mov ecx, eax
call fcn.0044a500
mov ecx, eax
call fcn.00442d30
mov edx, 0x5f259c
mov ecx, eax
call fcn.0044a500
mov ecx, eax
call fcn.00442d30
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x12c]
call fcn.004466f0
mov eax, dword [edi + 0x154]
lea ecx, [ebp - 0x44]
or esi, 0x80
cmp dword [ebp - 0x30], 8
cmovae ecx, dword [ebp - 0x44]
push ecx
push 0
push 0x143
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x44]
call fcn.00445c30
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x148], eax
lea ecx, [ebp - 0x12c]
call fcn.00442a20
lea ecx, [ebp - 0x124]
call fcn.00442b40
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x16
push eax
mov dword [ebp - 0xdc], vtable.std::ios_base.0
call fcn.0055c7c7
mov byte [ebp - 4], 0xd
add esp, 4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x2c]
inc ecx
sar eax, 3
mov dword [ebp - 0x4c], ecx
cmp ecx, eax
jb 0x4a2044
mov dword [ebp - 0x58], esi
mov eax, dword [edi + 0x154]
push 0
push 0
push 0x14e
push dword [eax + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x2c]
lea esi, [edi + 0x19c]
cmp esi, eax
je 0x4a233d
push dword [ebp - 0x80]
mov ecx, esi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.004a5c90
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
je 0x4a2353
cmp dword [edi + 0x164], 0
jle 0x4a2360
cmp dword [edi + 0x160], 0
je 0x4a2360
mov cl, 1
jmp 0x4a2362
xor cl, cl
cmp eax, 1
push ecx
seta al
mov ecx, edi
movzx eax, al
push eax
call fcn.0049e440
push dword [ebp - 0x88]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [edi + 0x164]
mov esi, dword [ebp - 0x6c]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov ecx, edi
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call fcn.004a0760
test esi, esi
je 0x4a23b4
push esi
call fcn.0056ef26
add esp, 4
lea ecx, [ebp - 0x2c]
call fcn.0047ba60
jmp 0x4a23c1
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x1c]
call fcn.0043afb0
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x4a23d9
push eax
call fcn.0056ef26
add esp, 4
mov dword [ebp - 0x78], 0
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 3
mov ecx, dword [edi + 0x194]
push eax
call fcn.004fb050
test al, al
jne 0x4a1940
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x4a240e
push eax
call fcn.0056ef26
add esp, 4
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.0056eeb4
mov esp, ebp
pop ebp
ret
call fcn.00591dc6
mov edi, edi
sbb byte [edx + ecx*2], bl
add byte [esi + 30], ch
dec edx
add dh, dh
sbb eax, 0x1dbb004a
dec edx
add al, cl
sbb dword [edx], ecx
mov esi, 0x4a23
add eax, 84214021
add eax, 33883397
add eax, 84214533
add eax, -872151803
int3