Function at 0x10073290
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009ad07
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x261c
call fcn.10076300
push ebx
push esi
mov eax, 0x100e73c0
push edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100732c1
sub eax, edx
mov dword [esp + 0x38], eax
je 0x10073da9
call fcn.1001c1d0
test eax, eax
je 0x10073da9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
cmp eax, 0x111
jne 0x100736a9
mov eax, dword [ecx + 4]
cmp eax, 0x24c
je 0x10073307
cmp eax, 0x10131
jne 0x10073da9
call dword [sym.imp.USER32.dll_GetForegroundWindow]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x10073da9
lea ecx, [esp + 0xb8]
push ecx
push 0xff
push 0xd
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x10]
call fcn.10011f50
xor eax, eax
mov ecx, 0x19
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x50]
push eax
push str.LSDQxci
mov dword [esp + 0x263c], ebx
call fcn.1003a410
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
add esp, 8
cmp ecx, ebx
jl 0x1007368b
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.10076a37
add esp, 8
cmp eax, ebx
je 0x1007368b
sub eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x1007368b
lea ecx, [esp + 0x10]
call fcn.10001ff0
lea ecx, [esp + 0x14]
call fcn.10001ff0
push 0x28
lea ecx, [esp + 0x10]
mov byte [esp + 0x2638], 2
call fcn.10003830
mov esi, eax
cmp esi, 0xffffffff
je 0x10073679
push esi
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x14]
call fcn.10003b90
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2638], 3
call fcn.100029e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2634], 2
call fcn.10002010
lea ecx, [esp + 0x14]
call fcn.10002da0
mov ecx, eax
call fcn.10002600
inc esi
push esi
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14]
call fcn.10003c10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2638], 4
call fcn.100029e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x2634], 2
call fcn.10002010
mov esi, dword [esp + 0x10]
cmp dword [esi - 0xc], ebx
jle 0x10073679
push 0x29
push esi
call fcn.10076579
add esp, 8
cmp eax, ebx
je 0x10073679
sub eax, esi
cmp eax, 0xffffffff
je 0x10073679
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
call fcn.10003b90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2638], 5
call fcn.100029e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2634], 2
call fcn.10002010
mov edx, dword [esp + 0x24]
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
push ebx
push str.32770
push ebx
push edx
call esi
cmp eax, ebx
je 0x10073679
push ebx
push str.YIMInputWindow
push ebx
push eax
call esi
mov edx, eax
cmp edx, ebx
je 0x10073679
xor eax, eax
mov ecx, 0x400
lea edi, [esp + 0x1628]
rep stosd dword es:[edi], eax
push 0x1000
lea eax, [esp + 0x162c]
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esp + 0x1628]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10073500
sub eax, edx
mov dword [esp + 0x38], eax
je 0x10073679
mov esi, dword [ebp + 0x10]
cmp dword [esi + 4], 0x10131
jne 0x10073537
mov dl, byte [0x100e8838]
test dl, dl
sete al
test al, al
mov byte [0x100e8838], al
je 0x10073679
mov ecx, 0x51a
xor eax, eax
lea edi, [esp + 0x1bc]
mov dword [esp + 0x1b8], ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x1bc], 2
lea esp, [esp]
mov cl, byte [eax + 0x100e73c0]
mov byte [esp + eax + 0x1c0], cl
inc eax
test cl, cl
jne 0x10073560
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10073580
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x2f0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10073597
lea eax, [esp + 0x1628]
lea edx, [eax + 1]
jmp 0x100735b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100735b0
sub eax, edx
cmp eax, 0x1000
jae 0x100735db
lea eax, [esp + 0x1628]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100735d0
sub eax, edx
jmp 0x100735e0
mov eax, 0x1000
push eax
lea ecx, [esp + 0x162c]
push ecx
lea edx, [esp + 0x456]
push edx
call fcn.100770f0
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call fcn.100115e0
push str._Y__m__d__H:_M:_S
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x34]
call fcn.10012140
mov edx, dword [eax]
push edx
lea eax, [esp + 0x1452]
push 0x1009cc2c
push eax
call fcn.10077098
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.10002010
mov eax, dword [0x1010e218]
cmp eax, ebx
je 0x10073648
test al, 1
je 0x10073648
test al, 4
je 0x10073679
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov eax, dword [esi]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
push str.57___d___d__Parent_window:_0x_X__current_WND:_0x_X
push 2
call fcn.1006ac00
lea edx, [esp + 0x1d0]
push section..inidata
push edx
call fcn.10072d50
add esp, 0x20
lea ecx, [esp + 0x14]
call fcn.10002010
lea ecx, [esp + 0x10]
call fcn.10002010
lea ecx, [esp + 0xc]
call fcn.10002010
mov ecx, dword [esp + 0x262c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
jne 0x10073cef
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
mov dword [esp + 0x28], eax
je 0x10073da9
lea ecx, [esp + 0xb8]
push ecx
push 0xff
push 0xd
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x14]
call fcn.10011f50
xor eax, eax
mov ecx, 0x19
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x50]
push eax
push str.LSDQxci
mov dword [esp + 0x263c], 6
call fcn.1003a410
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
add esp, 8
test ecx, ecx
jl 0x100739ab
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.10076a37
add esp, 8
test eax, eax
je 0x100739ab
sub eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x100739ab
lea ecx, [esp + 0xc]
call fcn.10001ff0
lea ecx, [esp + 0x14]
call fcn.10001ff0
mov bl, 8
push 0x28
lea ecx, [esp + 0x14]
mov byte [esp + 0x2638], bl
call fcn.10003830
mov esi, eax
cmp esi, 0xffffffff
je 0x10073999
push esi
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
call fcn.10003b90
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2638], 9
call fcn.100029e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2634], bl
call fcn.10002010
lea ecx, [esp + 0x14]
call fcn.10002da0
mov ecx, eax
call fcn.10002600
inc esi
push esi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x18]
call fcn.10003c10
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x2638], 0xa
call fcn.100029e0
lea ecx, [esp + 0x24]
mov byte [esp + 0x2634], bl
call fcn.10002010
mov esi, dword [esp + 0xc]
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x10073999
push 0x29
push esi
call fcn.10076579
add esp, 8
test eax, eax
je 0x10073999
sub eax, esi
cmp eax, 0xffffffff
je 0x10073999
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x14]
call fcn.10003b90
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x2638], 0xb
call fcn.100029e0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2634], bl
call fcn.10002010
mov edi, dword [esp + 0x28]
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
push 0
push str.32770
push 0
push edi
call esi
test eax, eax
je 0x10073999
push 0
push str.YHTMLContainer
push 0
push eax
call esi
push 0
push str.Internet_Explorer_Server
push 0
push eax
call esi
mov esi, eax
test esi, esi
je 0x10073999
lea ecx, [esp + 0x1c]
call fcn.10001ff0
lea edx, [esp + 0x1c]
push edx
push esi
mov byte [esp + 0x263c], 0xc
call fcn.1006b040
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 0xc]
add esp, 8
test ecx, ecx
je 0x10073990
or ebx, 0xffffffff
mov dword [esp + 0x18], ebx
call fcn.1008cdb1
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [0x100e882c]
xor esi, esi
test eax, eax
mov byte [esp + 0x2634], 0xd
jle 0x10073916
push esi
mov ecx, 0x100e8824
call fcn.100115c0
push eax
lea ecx, [esp + 0x30]
call fcn.100118e0
cmp dword [esp + 0x30], edi
je 0x1007390b
mov eax, dword [0x100e882c]
inc esi
cmp esi, eax
jl 0x100738e4
jmp 0x10073916
cmp esi, 0xffffffff
mov ebx, esi
mov dword [esp + 0x18], ebx
jne 0x10073923
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], edi
call fcn.10001950
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
call fcn.10002380
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2634], 0xe
call fcn.10002da0
lea ecx, [esp + 0x28]
call fcn.10002da0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.10011620
add esp, 8
test al, al
je 0x100739c9
lea ecx, [esp + 0x28]
call fcn.10002010
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x2634], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10073990
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x1c]
call fcn.10002010
lea ecx, [esp + 0x14]
call fcn.10002010
lea ecx, [esp + 0xc]
call fcn.10002010
lea ecx, [esp + 0x10]
call fcn.10002010
mov ecx, dword [esp + 0x262c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x28]
test esi, esi
je 0x10073ca0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x10073ca0
push esi
push eax
call fcn.10076a37
add esp, 8
test eax, eax
je 0x10073ca0
sub eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x10073ca0
mov eax, dword [esi - 0xc]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
call fcn.10003c10
lea ecx, [esp + 0x34]
call fcn.10001ff0
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x38]
push str._s:
push edx
mov byte [esp + 0x2640], 0x10
call fcn.10002d50
mov eax, dword [esp + 0x40]
add esp, 0xc
test eax, eax
je 0x10073c82
mov esi, dword [esp + 0x24]
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x10073c82
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.10076a37
add esp, 8
test eax, eax
je 0x10073c82
sub eax, esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10073c82
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x28c]
sub eax, ecx
mov dword [esp + 0x40], eax
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx - 0xc]
add eax, ebx
push eax
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x2c]
call fcn.10003c10
mov esi, dword [esp + 0x20]
mov eax, dword [esi - 0xc]
test eax, eax
mov byte [esp + 0x2634], 0x11
jl 0x10073b0a
push 0x100a4c98
push esi
call fcn.10076a37
add esp, 8
test eax, eax
je 0x10073b0a
sub eax, esi
cmp eax, 0xffffffff
je 0x10073b0a
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x28]
call fcn.10003b90
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2638], 0x12
call fcn.100029e0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2634], 0x11
call fcn.10002010
mov esi, dword [esp + 0x20]
push 0xd
lea ecx, [esp + 0x24]
call fcn.10003830
cmp eax, 0xffffffff
je 0x10073b50
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x28]
call fcn.10003b90
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2638], 0x13
call fcn.100029e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x2634], 0x11
call fcn.10002010
mov esi, dword [esp + 0x20]
mov ecx, 0x51a
xor eax, eax
lea edi, [esp + 0x1bc]
mov dword [esp + 0x1b8], 0
rep stosd dword es:[edi], eax
mov dword [esp + 0x1bc], 3
jmp 0x10073b80
mov cl, byte [eax + 0x100e73c0]
mov byte [esp + eax + 0x1c0], cl
inc eax
test cl, cl
jne 0x10073b80
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10073ba0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x2f0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10073bb7
mov eax, dword [esi - 0xc]
cmp eax, 0x1000
jb 0x10073bd0
mov eax, 0x1000
push eax
lea edx, [esp + 0x452]
push esi
push edx
call fcn.100770f0
add esp, 0xc
lea eax, [esp + 0x48]
push eax
call fcn.100115e0
push str._Y__m__d__H:_M:_S
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x50]
call fcn.10012140
mov edx, dword [eax]
push edx
lea eax, [esp + 0x1452]
push 0x1009cc2c
push eax
call fcn.10077098
add esp, 0xc
lea ecx, [esp + 0x38]
call fcn.10002010
mov eax, dword [0x1010e218]
test eax, eax
je 0x10073c31
test al, 1
je 0x10073c31
test al, 4
je 0x10073c52
push 0x100a4c94
push 2
call fcn.1006ac00
lea ecx, [esp + 0x1c0]
push section..inidata
push ecx
call fcn.10072d50
add esp, 0x10
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx - 0xc]
add eax, ebx
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.10003880
lea ecx, [esp + 0x20]
mov ebx, eax
mov byte [esp + 0x2634], 0x10
call fcn.10002010
cmp ebx, 0xffffffff
jne 0x10073a90
lea ecx, [esp + 0x34]
call fcn.10002010
lea ecx, [esp + 0x24]
mov byte [esp + 0x2634], 0xe
call fcn.10002010
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
call fcn.100029e0
sub esp, 8
cmp ebx, 0xffffffff
mov dword [esp + 0x40], esp
mov ecx, esp
jne 0x10073cd5
lea eax, [esp + 0x34]
push eax
call fcn.10072cb0
mov ecx, 0x100e8824
call fcn.10073200
jmp 0x10073961
lea edx, [esp + 0x34]
push edx
call fcn.10072cb0
push ebx
mov ecx, 0x100e8824
call fcn.100730d0
jmp 0x10073961
cmp eax, 0x10
jne 0x10073da9
call fcn.1008cdb1
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [0x100e882c]
xor esi, esi
or ebx, 0xffffffff
test eax, eax
mov dword [esp + 0x2634], 0x14
jle 0x10073d62
test esi, esi
jl 0x10073d59
cmp esi, eax
jge 0x10073d59
mov eax, dword [0x100e8828]
lea edi, [eax + esi*8]
push edi
lea ecx, [esp + 0x30]
call fcn.100029e0
mov ecx, dword [ebp + 0x10]
mov edi, dword [edi + 4]
cmp edi, dword [ecx + 0xc]
mov dword [esp + 0x30], edi
je 0x10073d5e
mov eax, dword [0x100e882c]
inc esi
cmp esi, eax
jl 0x10073d24
jmp 0x10073d62
jmp fcn.10088eec
cmp esi, ebx
jne 0x10073d7a
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x2634], ebx
lea edx, [eax + 0xc]
lock xadd dword [edx], ebx
dec ebx
jmp 0x10073d9d
push 1
push esi
mov ecx, 0x100e8824
call fcn.100117b0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x2634], ebx
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebx
dec ebx
test ebx, ebx
jg 0x10073da9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x262c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret