Function at 0x40ff50
Capabilities:
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x45ce3b
mov eax, dword fs:[0]
push eax
sub esp, 0x238
push ebx
push ebp
push esi
push edi
mov eax, dword [0x77a1d4]
xor eax, esp
push eax
lea eax, [esp + 0x24c]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0xdc]
push eax
push ecx
mov dword [esp + 0x25c], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
add dword [esp + 0xe0], 0x1e
push 1
push esi
lea edx, [esp + 0xe4]
push edx
lea ebp, [esi + 0x5c]
push 0x50800001
mov ecx, ebp
call fcn.0042e265
mov eax, dword [esi + 0x7c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xf097b1
push ebx
push 0x1001
push eax
call edi
mov ecx, dword [esi + 0x7c]
push ebx
push ebx
push 0x1024
push ecx
call edi
mov edx, dword [esi + 0x7c]
push 0xf097b1
push ebx
push 0x1026
push edx
call edi
mov eax, dword [esi + 0x7c]
push 0x31
push ebx
push 0x1036
push eax
call edi
push 0xffffffffffffffff
push 0x64
push ebx
push 0x462510
push ebx
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x460a58
push 1
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x460a4c
push 2
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x460a38
push 3
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x46235c
push 4
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x460a2c
push 5
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x4623d0
push 6
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x462498
push 7
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x4623c4
push 8
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x462504
push 9
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x46126c
push 0xa
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x460f60
push 0xb
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x4623b8
push 0xc
mov ecx, ebp
call fcn.0042e3c2
push 0xffffffffffffffff
push 0x64
push ebx
push 0x4623ac
push 0xd
mov ecx, ebp
call fcn.0042e3c2
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x25c]
push edx
push 0x77b630
mov ecx, 0x77b588
mov byte [esp + 0x25c], 1
call fcn.0040ade0
mov eax, dword [0x77b630]
cmp eax, ebx
jne 0x410149
push 0x80004003
call fcn.0045a7b0
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
mov esi, eax
push eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0x38], ebx
call eax
cmp eax, ebx
jge 0x41016c
push 0x460748
push esi
push eax
call fcn.0045a7d0
cmp dword [esp + 0x30], ebx
jne 0x41017d
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4112b4
call fcn.0041b555
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x410197
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
fldz
mov eax, dword [0x77b630]
fstp qword [esp + 0x5c]
mov byte [esp + 0x254], 2
mov dword [esp + 0x64], ebx
cmp eax, ebx
jne 0x4101cc
push 0x80004003
call fcn.0045a7b0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x98]
push eax
mov esi, eax
call edx
cmp eax, ebx
jge 0x4101e9
push 0x460748
push esi
push eax
call fcn.0045a7d0
cmp dword [esp + 0x30], ebx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [esp + 0x2c], ebx
jle 0x411290
lea ecx, [ecx]
mov eax, 8
push str.lyno
mov word [esp + 0x120], ax
call fcn.0045a850
mov dword [esp + 0x124], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 3
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x210]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 4
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
lea edx, [esp + 0x20c]
push edx
call esi
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x410949
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410297
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 1
mov dword [esp + 0x254], 2
je 0x410308
mov eax, dword [esp + 0x44]
and dword [esp + 0x14], 0xfffffffe
cmp eax, ebx
je 0x410308
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x410304
cmp esi, ebx
je 0x410304
mov eax, dword [esi]
cmp eax, ebx
je 0x4102eb
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4102fb
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
push ebx
push ebx
push ebx
push ebx
push eax
push edi
push 1
mov ecx, ebp
call fcn.0042e40e
mov ecx, 8
push str.lyid
mov word [esp + 0xa0], cx
call fcn.0045a850
mov dword [esp + 0xa4], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 6
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x190]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 7
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x18c]
push edx
call esi
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x410990
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4103c0
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 2
mov dword [esp + 0x254], 2
je 0x410431
mov eax, dword [esp + 0x58]
and dword [esp + 0x14], 0xfffffffd
cmp eax, ebx
je 0x410431
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x41042d
cmp esi, ebx
je 0x41042d
mov eax, dword [esi]
cmp eax, ebx
je 0x410414
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410424
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x18]
push eax
push 1
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lyname
mov word [esp + 0x100], cx
call fcn.0045a850
mov dword [esp + 0x104], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 9
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0xfc]
push edx
lea eax, [esp + 0x1f0]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0xa
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1ec]
push edx
call esi
lea eax, [esp + 0xfc]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x4109d7
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4104e0
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 4
mov dword [esp + 0x254], 2
je 0x410551
mov eax, dword [esp + 0x3c]
and dword [esp + 0x14], 0xfffffffb
cmp eax, ebx
je 0x410551
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x41054d
cmp esi, ebx
je 0x41054d
mov eax, dword [esi]
cmp eax, ebx
je 0x410534
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410544
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x18]
push eax
push 2
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lyspec
mov word [esp + 0xc0], cx
call fcn.0045a850
mov dword [esp + 0xc4], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0xc
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0xbc]
push edx
lea eax, [esp + 0x1b0]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0xd
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1ac]
push edx
call esi
lea eax, [esp + 0xbc]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x410a1e
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410600
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 8
mov dword [esp + 0x254], 2
je 0x410671
mov eax, dword [esp + 0x50]
and dword [esp + 0x14], 0xfffffff7
cmp eax, ebx
je 0x410671
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x41066d
cmp esi, ebx
je 0x41066d
mov eax, dword [esi]
cmp eax, ebx
je 0x410654
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410664
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x18]
push eax
push 3
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lykind
mov word [esp + 0x140], cx
call fcn.0045a850
mov dword [esp + 0x144], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0xf
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x13c]
push edx
lea eax, [esp + 0x230]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x10
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x22c]
push edx
call esi
lea eax, [esp + 0x13c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x410a65
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410720
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 0x10
mov dword [esp + 0x254], 2
je 0x410791
mov eax, dword [esp + 0x34]
and dword [esp + 0x14], 0xffffffef
cmp eax, ebx
je 0x410791
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x41078d
cmp esi, ebx
je 0x41078d
mov eax, dword [esi]
cmp eax, ebx
je 0x410774
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410784
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x18]
push eax
push 4
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lyunit
mov word [esp + 0x70], cx
call fcn.0045a850
mov dword [esp + 0x74], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x12
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x1d0]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x13
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1cc]
push edx
call esi
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x410aac
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410831
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 0x20
mov dword [esp + 0x254], 2
je 0x4108a2
mov eax, dword [esp + 0x54]
and dword [esp + 0x14], 0xffffffdf
cmp eax, ebx
je 0x4108a2
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x41089e
cmp esi, ebx
je 0x41089e
mov eax, dword [esi]
cmp eax, ebx
je 0x410885
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410895
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x18]
push eax
push 5
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lyaccount
mov word [esp + 0x80], cx
call fcn.0045a850
mov dword [esp + 0x84], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x15
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x170]
push eax
call fcn.00402c50
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x16
call esi
cmp eax, ebx
jl 0x411406
lea edx, [esp + 0x16c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0x258], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp word [esp + 0x1c], 1
jne 0x410af3
fldz
jmp 0x410af7
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x48]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 1
mov byte [esp + 0x254], 5
cmp esi, ebx
je 0x41097f
cmp dword [esi + 4], ebx
jne 0x41097a
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x410981
xor edx, edx
cmp edx, ebx
jne 0x410292
xor eax, eax
jmp 0x4102a0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 2
mov byte [esp + 0x254], 8
cmp esi, ebx
je 0x4109c6
cmp dword [esi + 4], ebx
jne 0x4109c1
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x4109c8
xor edx, edx
cmp edx, ebx
jne 0x4103b7
xor eax, eax
jmp 0x4103c9
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x40]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 4
mov byte [esp + 0x254], 0xb
cmp esi, ebx
je 0x410a0d
cmp dword [esi + 4], ebx
jne 0x410a08
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x410a0f
xor edx, edx
cmp edx, ebx
jne 0x4104d8
xor eax, eax
jmp 0x4104e9
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x54]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 8
mov byte [esp + 0x254], 0xe
cmp esi, ebx
je 0x410a54
cmp dword [esi + 4], ebx
jne 0x410a4f
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x410a56
xor edx, edx
cmp edx, ebx
jne 0x4105f8
xor eax, eax
jmp 0x410609
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x38]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x10
mov byte [esp + 0x254], 0x11
cmp esi, ebx
je 0x410a9b
cmp dword [esi + 4], ebx
jne 0x410a96
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x410a9d
xor edx, edx
cmp edx, ebx
jne 0x410718
xor eax, eax
jmp 0x410729
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x20
mov byte [esp + 0x254], 0x14
cmp esi, ebx
je 0x410ae2
cmp dword [esi + 4], ebx
jne 0x410add
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x410ae4
xor edx, edx
cmp edx, ebx
jne 0x41082c
xor eax, eax
jmp 0x41083a
fld qword [esp + 0x24]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x20]
push str._.2f
push ecx
call fcn.004031c0
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
push 6
push edi
mov ecx, ebp
call fcn.0042e2c9
mov eax, 8
push str.lyprice
mov word [esp + 0x90], ax
call fcn.0045a850
mov dword [esp + 0x94], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x17
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x180]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x18
call esi
cmp eax, ebx
jl 0x411406
lea edx, [esp + 0x17c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x258], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp word [esp + 0x1c], 1
jne 0x410baf
fldz
jmp 0x410bb3
fld qword [esp + 0x24]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x20]
push str._.2f
push ecx
call fcn.004031c0
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
push 7
push edi
mov ecx, ebp
call fcn.0042e2c9
mov eax, 8
push str.lyvalue
mov word [esp + 0xb0], ax
call fcn.0045a850
mov dword [esp + 0xb4], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x19
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x1a0]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x1a
call esi
cmp eax, ebx
jl 0x411406
lea edx, [esp + 0x19c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x258], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp word [esp + 0x1c], 1
jne 0x410c6b
fldz
jmp 0x410c6f
fld qword [esp + 0x24]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x20]
push str._.2f
push ecx
call fcn.004031c0
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
push 8
push edi
mov ecx, ebp
call fcn.0042e2c9
mov eax, 8
push str.lydate
mov word [esp + 0xd0], ax
call fcn.0045a850
mov dword [esp + 0xd4], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x1b
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0xcc]
push edx
lea eax, [esp + 0x1c0]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x1c
call esi
cmp eax, ebx
jl 0x411406
lea edx, [esp + 0x1bc]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0xcc]
push eax
mov byte [esp + 0x258], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp word [esp + 0x1c], 7
je 0x410d5a
push 7
push ebx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x168]
xor ecx, ecx
push eax
mov word [esp + 0x16c], cx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
jl 0x410d50
fld qword [esp + 0x164]
jmp 0x410d5e
mov dword [esp + 0x64], 1
jmp 0x410d66
fld qword [esp + 0x24]
fstp qword [esp + 0x5c]
mov dword [esp + 0x64], ebx
push str._Y__m__d
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x64]
call fcn.004050a0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x258], 0x1d
call fcn.004019b0
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
mov byte [esp + 0x254], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410db3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
push ecx
push 9
push edi
mov ecx, ebp
call fcn.0042e2c9
mov edx, 8
push str.lyuse_person
mov word [esp + 0xf0], dx
call fcn.0045a850
mov dword [esp + 0xf4], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x1e
cmp ecx, ebx
je 0x41013f
lea eax, [esp + 0xec]
push eax
lea edx, [esp + 0x1e0]
push edx
call fcn.00402c50
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x25c], 0x1f
call esi
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x1dc]
push ecx
call esi
lea edx, [esp + 0xec]
push edx
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x4112e1
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
jmp 0x410e60
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410e60
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 0x40
mov dword [esp + 0x254], 2
je 0x410ed1
mov eax, dword [esp + 0x4c]
and dword [esp + 0x14], 0xffffffbf
cmp eax, ebx
je 0x410ed1
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x410ecd
cmp esi, ebx
je 0x410ecd
mov eax, dword [esi]
cmp eax, ebx
je 0x410eb4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410ec4
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x18]
push edx
push 0xa
push edi
mov ecx, ebp
call fcn.0042e2c9
mov eax, 8
push str.lydeal_person
mov word [esp + 0x110], ax
call fcn.0045a850
mov dword [esp + 0x114], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x21
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x10c]
push edx
lea eax, [esp + 0x200]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x22
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1fc]
push edx
call esi
lea eax, [esp + 0x10c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x411328
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410f80
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test byte [esp + 0x14], 0x80
mov dword [esp + 0x254], 2
je 0x410ff4
mov eax, dword [esp + 0x38]
and dword [esp + 0x14], 0xffffff7f
cmp eax, ebx
je 0x410ff4
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x410ff0
cmp esi, ebx
je 0x410ff0
mov eax, dword [esi]
cmp eax, ebx
je 0x410fd7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x410fe7
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x18]
push eax
push 0xb
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lybase
mov word [esp + 0x130], cx
call fcn.0045a850
mov dword [esp + 0x134], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x24
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x12c]
push edx
lea eax, [esp + 0x220]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x25
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x21c]
push edx
call esi
lea eax, [esp + 0x12c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x411372
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4110a0
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test dword [esp + 0x14], 0x100
mov dword [esp + 0x254], 2
je 0x411117
mov eax, dword [esp + 0x40]
and dword [esp + 0x14], 0xfffffeff
cmp eax, ebx
je 0x411117
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x411113
cmp esi, ebx
je 0x411113
mov eax, dword [esi]
cmp eax, ebx
je 0x4110fa
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x41110a
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x18]
push eax
push 0xc
push edi
mov ecx, ebp
call fcn.0042e2c9
mov ecx, 8
push str.lymemo
mov word [esp + 0x150], cx
call fcn.0045a850
mov dword [esp + 0x154], eax
mov ecx, dword [0x77b630]
mov byte [esp + 0x254], 0x27
cmp ecx, ebx
je 0x41013f
lea edx, [esp + 0x14c]
push edx
lea eax, [esp + 0x240]
push eax
call fcn.00402c50
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x25c], 0x28
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jl 0x411406
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x23c]
push edx
call esi
lea eax, [esp + 0x14c]
push eax
mov byte [esp + 0x258], 2
call esi
cmp word [esp + 0x1c], 1
jne 0x4113bc
mov edx, 0x467455
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4111c3
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00401720
test dword [esp + 0x14], 0x200
mov dword [esp + 0x254], 2
je 0x41123a
mov eax, dword [esp + 0x48]
and dword [esp + 0x14], 0xfffffdff
cmp eax, ebx
je 0x41123a
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x411236
cmp esi, ebx
je 0x411236
mov eax, dword [esi]
cmp eax, ebx
je 0x41121d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x41122d
push eax
call fcn.004199cf
add esp, 4
push esi
call fcn.004199cf
add esp, 4
mov dword [esp + 0x48], ebx
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edi
push 0xd
push eax
mov ecx, ebp
call fcn.0042e2c9
mov eax, dword [0x77b630]
cmp eax, ebx
je 0x41013f
mov ecx, dword [eax]
mov edx, dword [ecx + 0x90]
push eax
mov esi, eax
call edx
cmp eax, ebx
jge 0x411277
push 0x460748
push esi
push eax
call fcn.0045a7d0
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
inc eax
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
jl 0x410200
lea eax, [edi - 0x10]
mov byte [esp + 0x254], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4112b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push ecx
call esi
lea edx, [esp + 0x25c]
push edx
call esi
mov ecx, dword [esp + 0x24c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret 0x10
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x50]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x40
mov byte [esp + 0x254], 0x20
cmp esi, ebx
je 0x411317
cmp dword [esi + 4], ebx
jne 0x411312
mov ecx, dword [esi]
push ecx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x411319
xor edx, edx
cmp edx, ebx
jne 0x410e56
xor eax, eax
jmp 0x410e69
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x80
mov byte [esp + 0x254], 0x23
cmp esi, ebx
je 0x411361
cmp dword [esi + 4], ebx
jne 0x41135c
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x411363
xor edx, edx
cmp edx, ebx
jne 0x410f78
xor eax, eax
jmp 0x410f89
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x44]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x100
mov byte [esp + 0x254], 0x26
cmp esi, ebx
je 0x4113ab
cmp dword [esi + 4], ebx
jne 0x4113a6
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x4113ad
xor edx, edx
cmp edx, ebx
jne 0x41109b
xor eax, eax
jmp 0x4110a9
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00403110
mov esi, dword [eax]
or dword [esp + 0x14], 0x200
mov byte [esp + 0x254], 0x29
cmp esi, ebx
je 0x4113f5
cmp dword [esi + 4], ebx
jne 0x4113f0
mov edx, dword [esi]
push edx
call fcn.0045a9d0
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
jmp 0x4113f7
xor edx, edx
cmp edx, ebx
jne 0x4111be
xor eax, eax
jmp 0x4111cc
push eax
call fcn.0045a7b0
int3